// ===== assets/css/fiche.css =====
.fiche-hero {
    position: relative;
    height: 340px;
    background: linear-gradient(135deg, #1a1a2e 0%, #2d1b1b 100%);
    overflow: hidden;
}

.fiche-hero.fiche-hero-has-img {
    background: var(--noir);
}

.fiche-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 0.55;
}

.fiche-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.1) 100%);
    display: flex;
    align-items: flex-end;
    padding: 32px;
}

.fiche-hero-content {
    max-width: var(--max-width);
    width: 100%;
    margin: 0 auto;
}

.fiche-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.fiche-hero-title {
    font-family: var(--font-titre);
    font-size: clamp(22px, 4vw, 36px);
    font-weight: 900;
    color: #fff;
    line-height: 1.15;
    letter-spacing: -0.5px;
    margin-bottom: 10px;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}

.fiche-hero-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    font-size: 13.5px;
    color: rgba(255, 255, 255, 0.75);
}

.fiche-hero-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.fiche-hero-meta-item i {
    color: rgba(255, 255, 255, 0.55);
}

.fiche-meta-link {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
}

.fiche-meta-link:hover {
    color: #fff;
}

.fiche-rating-star {
    color: #fbbf24;
}

.fiche-actions-bar {
    background: var(--blanc);
    border-bottom: 1px solid var(--gris-100);
    position: sticky;
    top: var(--header-height);
    z-index: 80;
    box-shadow: var(--shadow-sm);
}

.fiche-actions-inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 56px;
    overflow-x: auto;
    scrollbar-width: none;
}

.fiche-actions-inner::-webkit-scrollbar {
    display: none;
}

.fiche-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 18px;
    border-radius: var(--radius-full);
    font-size: 13.5px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid;
    transition: var(--transition);
    white-space: nowrap;
    cursor: pointer;
    font-family: var(--font-corps);
    flex-shrink: 0;
    background: none;
}

.fiche-action-btn.tel {
    background: var(--rouge);
    border-color: var(--rouge);
    color: #fff;
}

.fiche-action-btn.tel:hover {
    background: var(--rouge-hover);
    border-color: var(--rouge-hover);
    color: #fff;
}

.fiche-action-btn.wa {
    background: #25d366;
    border-color: #25d366;
    color: #fff;
}

.fiche-action-btn.wa:hover {
    background: #128c7e;
    border-color: #128c7e;
    color: #fff;
}

.fiche-action-btn.secondary {
    background: #fff;
    border-color: var(--gris-200);
    color: var(--gris-700);
}

.fiche-action-btn.secondary:hover {
    border-color: var(--gris-300);
    background: var(--gris-50);
    color: var(--noir);
}

.fiche-body {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 36px 24px 72px;
}

.fiche-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 24px;
    font-size: 12.5px;
    color: var(--gris-400);
}

.fiche-breadcrumb a {
    color: var(--gris-500);
    text-decoration: none;
}

.fiche-breadcrumb a:hover {
    color: var(--rouge);
}

.fiche-breadcrumb-sep {
    color: var(--gris-300);
}

.fiche-sidebar {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fiche-section {
    background: var(--blanc);
    border: 1px solid var(--gris-100);
    border-radius: var(--radius-lg);
    padding: 28px;
    margin-bottom: 20px;
}

.fiche-section-title {
    font-family: var(--font-titre);
    font-size: 18px;
    font-weight: 800;
    color: var(--noir);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.fiche-section-title i {
    color: var(--rouge);
    font-size: 18px;
}

.fiche-description {
    font-size: 15px;
    line-height: 1.8;
    color: var(--gris-700);
}

.fiche-services-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fiche-service-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 14px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 500;
    background: var(--gris-50);
    border: 1px solid var(--gris-200);
    color: var(--gris-700);
}

.fiche-service-tag i {
    color: var(--rouge);
    font-size: 14px;
}

.fiche-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.fiche-gallery-item {
    border-radius: var(--radius-sm);
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: var(--gris-100);
}

.fiche-gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s var(--ease);
}

.fiche-gallery-item:hover img {
    transform: scale(1.05);
}

.fiche-menu-cat {
    margin-bottom: 28px;
}

.fiche-menu-cat:last-child {
    margin-bottom: 0;
}

.fiche-menu-cat-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: var(--rouge);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--gris-100);
}

.fiche-menu-item {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid var(--gris-50);
}

.fiche-menu-item:last-child {
    border-bottom: none;
}

.fiche-menu-item-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--noir);
    margin-bottom: 2px;
}

.fiche-menu-item-desc {
    font-size: 12.5px;
    color: var(--gris-500);
    line-height: 1.5;
}

.fiche-menu-item-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--rouge);
    white-space: nowrap;
    flex-shrink: 0;
}

.fiche-promo-card {
    background: var(--rouge-pale);
    border: 1px solid var(--rouge-border);
    border-radius: var(--radius);
    padding: 18px;
    margin-bottom: 12px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.fiche-promo-card:last-child {
    margin-bottom: 0;
}

.fiche-promo-icon {
    color: var(--rouge);
    font-size: 22px;
    flex-shrink: 0;
}

.fiche-promo-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--rouge-hover);
    margin-bottom: 4px;
}

.fiche-promo-desc {
    font-size: 13px;
    color: var(--gris-700);
    line-height: 1.5;
}

.fiche-reviews-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.fiche-review {
    padding: 16px 0;
    border-bottom: 1px solid var(--gris-100);
}

.fiche-review:last-child {
    border-bottom: none;
}

.fiche-review-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.fiche-review-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--rouge-pale);
    color: var(--rouge);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 700;
    flex-shrink: 0;
}

.fiche-review-avatar-img {
    object-fit: cover;
    background: var(--gris-100);
    color: transparent;
}

.fiche-review-author {
    font-size: 13.5px;
    font-weight: 600;
    color: var(--noir);
}

.fiche-review-date {
    font-size: 12px;
    color: var(--gris-400);
}

.fiche-review-stars-wrap {
    margin-left: auto;
    font-size: 13px;
    color: #fbbf24;
    letter-spacing: 1px;
}

.fiche-review-text {
    font-size: 13.5px;
    color: var(--gris-700);
    line-height: 1.7;
}

.fiche-sidebar-card {
    background: var(--blanc);
    border: 1px solid var(--gris-100);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.fiche-sidebar-card-header {
    padding: 14px 20px;
    border-bottom: 1px solid var(--gris-100);
    font-size: 13px;
    font-weight: 700;
    color: var(--gris-700);
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.3px;
}

.fiche-sidebar-card-header i {
    color: var(--rouge);
}

.fiche-sidebar-card-body {
    padding: 16px 20px;
}

.fiche-empty-note {
    font-size: 13.5px;
    color: var(--gris-400);
    margin: 0;
}

.fiche-hours-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    font-size: 13.5px;
    border-bottom: 1px solid var(--gris-50);
}

.fiche-hours-row:last-child {
    border-bottom: none;
}

.fiche-hours-day {
    font-weight: 500;
    color: var(--gris-700);
}

.fiche-hours-day.today {
    color: var(--rouge);
    font-weight: 700;
}

.fiche-hours-time {
    color: var(--gris-600);
    text-align: right;
    font-size: 13px;
}

.fiche-hours-closed {
    color: var(--gris-400);
}

.fiche-address-row {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 8px 0;
    font-size: 13.5px;
    color: var(--gris-700);
    border-bottom: 1px solid var(--gris-50);
}

.fiche-address-row:last-child {
    border-bottom: none;
}

.fiche-address-row i {
    color: var(--rouge);
    font-size: 15px;
    flex-shrink: 0;
    margin-top: 1px;
}

.fiche-address-row a {
    color: var(--rouge);
    text-decoration: none;
}

.fiche-address-row a:hover {
    text-decoration: underline;
}

.fiche-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fiche-social-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: var(--radius-full);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    border: 1.5px solid var(--gris-200);
    color: var(--gris-700);
    background: #fff;
    transition: var(--transition);
}

.fiche-social-link:hover {
    border-color: var(--rouge-border);
    color: var(--rouge);
    background: var(--rouge-pale);
}

.fiche-map-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    background: var(--gris-50);
    border-radius: var(--radius-sm);
    font-size: 13.5px;
    font-weight: 600;
    color: var(--gris-700);
    text-decoration: none;
    transition: var(--transition);
    border: 1.5px dashed var(--gris-200);
}

.fiche-map-link:hover {
    background: var(--rouge-pale);
    border-color: var(--rouge-border);
    color: var(--rouge);
}

.fiche-map-link-top {
    margin-top: 12px;
}

.fiche-revendiquer-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: none;
    border: 1.5px solid var(--gris-200);
    border-radius: var(--radius);
    font-size: 13.5px;
    font-weight: 500;
    color: var(--gris-600);
    text-decoration: none;
    transition: var(--transition);
    justify-content: center;
}

.fiche-revendiquer-btn:hover {
    border-color: var(--rouge-border);
    color: var(--rouge);
    background: var(--rouge-pale);
}

.fiche-rating-summary {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0 20px;
    border-bottom: 1px solid var(--gris-100);
    margin-bottom: 16px;
}

.fiche-rating-big {
    font-size: 40px;
    font-weight: 800;
    color: var(--noir);
    line-height: 1;
}

.fiche-rating-stars {
    font-size: 20px;
    color: #fbbf24;
    letter-spacing: 2px;
    margin-bottom: 2px;
}

.fiche-rating-count {
    font-size: 13px;
    color: var(--gris-500);
}

.fiche-rating-link {
    display: inline-flex;
    margin-top: 6px;
    font-size: 12.5px;
    color: var(--rouge);
    text-decoration: none;
}

.fiche-rating-link:hover {
    text-decoration: underline;
}

.fiche-video-embed {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: var(--radius);
    margin-top: 16px;
}

.fiche-video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 992px) {
    .fiche-hero {
        height: 280px;
    }

    .fiche-hero-overlay {
        padding: 24px;
    }

    .fiche-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .fiche-hero {
        height: 240px;
    }

    .fiche-section {
        padding: 20px 16px;
    }

    .fiche-body {
        padding: 20px 16px 56px;
    }

    .fiche-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 6px;
    }

    .fiche-actions-inner {
        padding: 0 16px;
    }

    .fiche-rating-summary {
        align-items: flex-start;
    }

    .fiche-review-header {
        align-items: flex-start;
    }
}


.fiche-map-container {
    height: 240px;
    width: 100%;
    background: var(--gris-100);
    border-bottom: 1px solid var(--gris-100);
}

/* Marqueur Leaflet personnalisé */
.fiche-map-marker {
    width: 36px;
    height: 36px;
    background: var(--rouge);
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(198, 40, 40, 0.5);
}

.fiche-map-marker i {
    transform: rotate(45deg);
    color: #fff;
    font-size: 16px;
    line-height: 1;
}

/* Attribution Leaflet */
.leaflet-control-attribution {
    font-size: 10px;
}

.fiche-panier {
    /* hérite de .fiche-section */
}
 
.fiche-panier-items {
    display: flex;
    flex-direction: column;
    gap: 1px;
    background: var(--gris-100);
    border: 1px solid var(--gris-100);
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 20px;
}
 
.fiche-panier-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    background: var(--blanc);
    transition: background 0.15s;
}
 
.fiche-panier-item:hover {
    background: var(--gris-50);
}
 
.fiche-panier-item-info {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}
 
.fiche-panier-item-nom {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--noir);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
 
.fiche-panier-item-prix {
    font-size: 13.5px;
    color: var(--rouge);
    font-weight: 700;
}
 
.fiche-panier-item-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
 
.fiche-panier-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1.5px solid var(--gris-200);
    background: var(--blanc);
    color: var(--gris-700);
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    font-family: var(--font-corps);
    padding: 0;
}
 
.fiche-panier-btn:hover:not(:disabled) {
    border-color: var(--rouge);
    color: var(--rouge);
    background: var(--rouge-pale);
}
 
.fiche-panier-btn:disabled {
    color: var(--gris-300);
    cursor: not-allowed;
    border-color: var(--gris-100);
}
 
.fiche-panier-qty {
    min-width: 20px;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--noir);
}
 
.fiche-panier-summary {
    border-top: 2px solid var(--gris-100);
    padding-top: 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
 
.fiche-panier-total {
    font-size: 15px;
    color: var(--gris-700);
    text-align: right;
}
 
.fiche-panier-total-amount {
    font-size: 18px;
    color: var(--noir);
    font-family: var(--font-titre);
}
 
.fiche-panier-order-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 20px;
    background: #25d366;
    color: #fff;
    border-radius: var(--radius-full);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: var(--transition);
    font-family: var(--font-corps);
}
 
.fiche-panier-order-btn:hover {
    background: #128c7e;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
}

:root{
  --fp-red:#C62828;
  --fp-red-dark:#A92121;
  --fp-red-soft:#FFF5F5;
  --fp-ink:#111827;
  --fp-muted:#667085;
  --fp-line:rgba(17,24,39,.09);
  --fp-soft:#F7F8FA;
  --fp-card:#fff;
  --fp-green:#15803D;
  --fp-green-soft:#ECFDF5;
  --fp-gold:#F59E0B;
  --font-t:'Playfair Display',Georgia,serif;
  --font-c:'DM Sans',system-ui,sans-serif;
}
html{scroll-behavior:smooth}
.fp-page{background:#fff;color:var(--fp-ink);overflow:hidden}
.fp-sec{padding:clamp(56px,7vw,92px) 0}
.fp-sec-alt{background:linear-gradient(180deg,#fbfcfd 0%,#f6f8fb 100%)}
.fp-in{max-width:1240px;margin:0 auto;padding:0 24px}
.fp-title{text-align:center;margin:0 auto 34px;max-width:760px}
.fp-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--fp-red);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.fp-title h2{font-family:var(--font-t);font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.05;font-weight:900;letter-spacing:-.035em;margin:0;color:var(--fp-ink)}
.fp-title p{margin:10px auto 0;color:var(--fp-muted);line-height:1.7;font-size:.98rem}
.fp-div{width:58px;height:4px;border-radius:999px;background:var(--fp-red);margin:15px auto 0}


.fp-hero{position:relative;height:560px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#111827;isolation:isolate}
.fp-hero-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transform:scale(1.18);
  transform-origin:center top;
  animation:fpHeroDezoom 12s ease-out forwards;
  will-change:transform;
}

@keyframes fpHeroDezoom{
  to{transform:scale(1.00)}
}
.fp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(17,24,39,.30) 0%,rgba(17,24,39,.58) 48%,rgba(17,24,39,.88) 100%),radial-gradient(circle at top right,rgba(198,40,40,.22),transparent 32%)}
.fp-open-badge{position:absolute;right:18px;top:18px;z-index:3;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.17);box-shadow:0 10px 30px rgba(0,0,0,.18);backdrop-filter:blur(12px);color:#fff;font-size:.78rem;font-weight:800;max-width:46vw;white-space:nowrap}
.fp-open-badge.is-open{background:rgba(21,128,61,.82)}
.fp-open-badge.is-closed{background:rgba(185,28,28,.82)}
.fp-hero-content{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:0 24px;text-align:center;color:#fff}
.fp-hero-spec{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;min-height:38px;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);font-size:.8rem;font-weight:750;color:rgba(255,255,255,.9)}
.fp-hero-spec strong{font-weight:950}
.fp-hero-city{font-size:.95rem;color:rgba(255,255,255,.78);margin-bottom:12px}
.fp-hero h1{max-width:14ch;margin:0 auto;font-family:var(--font-t);font-size:clamp(2.25rem,7vw,4.9rem);line-height:1.02;letter-spacing:-.045em;font-weight:950;text-shadow:0 2px 26px rgba(0,0,0,.5)}
.fp-hero-actions{position:absolute;left:0;right:0;bottom:42px;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:0 24px}
.fp-btn-main,.fp-btn-ghost{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:12px 28px;border-radius:999px;font-weight:900;text-decoration:none;transition:.2s}
.fp-btn-main{background:var(--fp-red);color:#fff;box-shadow:0 18px 45px rgba(198,40,40,.24)}
.fp-btn-main:hover{background:var(--fp-red-dark);color:#fff;transform:translateY(-2px)}
.fp-btn-ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px)}
.fp-btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff}



.fp-about-img{width:100%;height:100%;min-height:340px;object-fit:cover}
.fp-about-placeholder{height:340px;background:var(--fp-soft);display:grid;place-items:center;color:#98A2B3;font-size:4rem}
.fp-cert-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:16px;padding:10px 16px;border-radius:999px;background:var(--fp-green-soft);color:var(--fp-green);border:1px solid rgba(21,128,61,.16);font-weight:900;text-decoration:none}
.fp-cert-btn:hover{color:var(--fp-green);transform:translateY(-1px)}





.fp-event-card,.fp-job-card{height:100%;overflow:hidden;border:1px solid var(--fp-line);border-radius:22px;background:#fff;box-shadow:none;transition:.22s;text-align:center}
.fp-event-card:hover,.fp-job-card:hover{transform:translateY(-2px);border-color:rgba(198,40,40,.18)}
.fp-event-card .fp-card-body,.fp-job-card .fp-card-body{text-align:center}
.fp-event-card .fp-kicker,.fp-job-card .fp-kicker{justify-content:center}
.fp-event-card .fp-cert-btn,.fp-job-card .fp-cert-btn{justify-content:center}
.fp-card-img{width:100%;height:190px;object-fit:cover;cursor:pointer}
.fp-card-ph{height:190px;display:grid;place-items:center;background:linear-gradient(135deg,var(--fp-red-soft),#fff);color:var(--fp-red);font-size:2.5rem}
.fp-card-body{padding:18px}
.fp-card-body h3{font-size:1.02rem;font-weight:900;line-height:1.25;margin:0 0 8px;color:var(--fp-ink)}
.fp-card-body p{color:var(--fp-muted);font-size:.9rem;line-height:1.65;margin:0}


.fp-command-sec{
  background:radial-gradient(circle at center right, rgba(198, 40, 40, .08), transparent 22rem), #fff;
}

.fp-command-sec .fp-in{
  padding-top:clamp(24px,4vw,40px);
  padding-bottom:clamp(24px,4vw,40px);
}

.fp-command-intro{text-align:center;max-width:760px;margin:0 auto 26px}
.fp-command-intro h2{font-family:var(--font-t);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:950;letter-spacing:-.04em;margin-bottom:10px}
.fp-command-intro p{color:var(--fp-muted);line-height:1.75;margin:0}
.fp-command-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.fp-command-step{padding:20px;border:1px solid var(--fp-line);border-radius:22px;background:#fff;text-align:center}
.fp-step-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:20px;background:var(--fp-red-soft);color:var(--fp-red);display:grid;place-items:center;font-size:1.5rem}
.fp-command-step strong{display:block;margin-bottom:6px;color:var(--fp-ink)}
.fp-command-step span{display:block;color:var(--fp-muted);font-size:.9rem;line-height:1.55}
.fp-command-info{margin-top:18px;padding:20px;border-radius:24px;background:#fff;border:1px solid var(--fp-line);color:var(--fp-ink)}
.fp-command-info h3{font-size:1rem;font-weight:950;margin:0 0 14px;text-align:center;color:var(--fp-ink)}
.fp-command-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fp-command-condition{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:16px;background:var(--fp-soft);color:#374151;font-size:.88rem;line-height:1.45;font-weight:650}
.fp-command-condition i{color:var(--fp-red);margin-top:2px;flex-shrink:0}

.fp-menu-cat-title.js-menu-reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .55s ease, transform .55s ease;
}

.fp-menu-cat-title.js-menu-reveal.is-visible{
    opacity:1;
    transform:none;
}

.fp-menu-images-inline.is-hidden{
    display:none;
}

.fp-menu-images-inline{
    margin-top:18px;
}

.fp-menu-images-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:16px;
}

.fp-menu-image-card{
    position:relative;
    display:block;
    width:100%;
    border:0;
    padding:0;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    cursor:pointer;
    box-shadow:0 10px 28px rgba(17,24,39,.08);
}

.fp-menu-image-card img{
    display:block;
    width:100%;
    height:auto;
}

.fp-menu-image-badge{
    position:absolute;
    top:10px;
    right:10px;
    background:rgba(17,24,39,.82);
    color:#fff;
    font-size:.78rem;
    font-weight:800;
    padding:6px 10px;
    border-radius:999px;
}

.fp-menu-image-page-btn{
    border:1px solid var(--fp-line);
    background:#fff;
    color:var(--fp-ink);
    border-radius:999px;
    padding:8px 14px;
    font-weight:800;
    font-size:.85rem;
}

.fp-menu-image-page-btn:hover{
    background:var(--fp-red);
    border-color:var(--fp-red);
    color:#fff;
}

@media (max-width: 991.98px){
    .fp-menu-images-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px){
    .fp-menu-images-grid{
        grid-template-columns:1fr;
    }
}

.menu-nav{
    display:flex;
    gap:10px;
    justify-content:center;
    flex-wrap:wrap;
    margin-bottom:34px;
}

.menu-nav a{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    border:1.5px solid var(--fp-line);
    color:#374151;
    font-size:.86rem;
    font-weight:800;
    padding:8px 18px;
    border-radius:999px;
    text-decoration:none;
    transition:.12s;
    white-space:nowrap;
}

.menu-nav a:hover,
.menu-nav a.on{
    background:var(--fp-red);
    color:#fff;
    border-color:var(--fp-red);
}

@media (max-width: 767.98px){
    .menu-nav{
        flex-wrap:nowrap;
        justify-content:flex-start;
        overflow-x:auto;
        overflow-y:hidden;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        padding-bottom:6px;
        margin-inline:-2px;
    }

    .menu-nav::-webkit-scrollbar{
        display:none;
    }

    .menu-nav a{
        flex:0 0 auto;
    }
}
.fp-menu-cat-title{font-family:var(--font-t);font-size:1.35rem;font-weight:950;color:var(--fp-ink);margin:30px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--fp-line);display:flex;align-items:center;gap:10px}
.fp-menu-cat-title::before{content:"";width:5px;height:24px;background:var(--fp-red);border-radius:99px}
.item-carte{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid rgba(17,24,39,.06)}
.item-carte:last-child{border-bottom:0}
.ic-img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;cursor:pointer;transition:.18s;box-shadow:0 10px 24px rgba(17,24,39,.08)}
.ic-img:hover{transform:scale(1.05)}
.ic-ph{width:72px;height:72px;border-radius:50%;background:var(--fp-soft);flex-shrink:0;display:grid;place-items:center;color:#98A2B3;font-size:20px}
.ic-body{flex:1;min-width:0}
.ic-nom{font-weight:900;font-size:.97rem;color:var(--fp-ink);display:flex;align-items:center;flex-wrap:wrap;gap:5px}
.ic-desc{font-size:.84rem;color:var(--fp-muted);margin-top:4px;line-height:1.55}
.ic-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}
.ic-prix{font-weight:950;font-size:1rem;color:var(--fp-red);white-space:nowrap}
.bistro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.bistro-card{border-radius:20px;border:1px solid var(--fp-line);overflow:hidden;background:#fff;transition:.2s;box-shadow:0 12px 34px rgba(17,24,39,.05)}
.bistro-img{width:100%;height:165px;object-fit:cover;cursor:pointer}
.bistro-ph{height:165px;background:var(--fp-soft);display:grid;place-items:center;color:#98A2B3;font-size:2rem}
.bistro-body{padding:14px 16px}
.bistro-nom{font-weight:900;font-size:.95rem;color:var(--fp-ink);display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.bistro-desc{font-size:.82rem;color:var(--fp-muted);margin-top:5px;line-height:1.55}
.item-liste,.item-min{display:flex;align-items:center;gap:10px;padding:12px 0;}
.il-nom,.im-nom{font-weight:850;font-size:.95rem;color:var(--fp-ink);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.il-desc{font-size:.82rem;color:var(--fp-muted);margin-top:3px}
.il-dots{flex:1;border-bottom:1px dotted #D1D5DB;min-width:16px;margin:0 6px}
.item-min{justify-content:space-between}
.im-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.epuise{font-size:10px;font-weight:950;background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;border-radius:999px;padding:2px 7px}
.btn-p{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--fp-red);color:#fff;border:none;cursor:pointer;font-size:18px;transition:.15s;flex-shrink:0;box-shadow:0 10px 22px rgba(198,40,40,.16)}
.btn-p:hover{background:var(--fp-red-dark);transform:scale(1.08)}
.al-row{display:inline-flex;align-items:center;gap:4px;margin-left:6px;vertical-align:middle}
.al-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;font-size:15px;line-height:1;flex-shrink:0;border:1px solid rgba(0,0,0,.05)}
.al-emoji{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:15px}
.al-legend{border:1px solid var(--fp-line);background:#fff;border-radius:22px;padding:18px 22px;margin-top:30px;box-shadow:0 14px 36px rgba(17,24,39,.04)}
.al-legend-title{font-size:.78rem;font-weight:950;color:var(--fp-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.al-legend-items{display:flex;flex-wrap:wrap;gap:10px}
.al-legend-item{display:flex;align-items:center;gap:7px;font-size:.84rem;color:#374151;font-weight:750}


.fp-gallery-card{height:100%;margin:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--fp-line);box-shadow:none}
.fp-gallery-img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:pointer;transition:.22s}
.fp-gallery-card:hover .fp-gallery-img{transform:scale(1.035)}


.fp-assoc-section{
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(17,24,39,.6), rgba(17,24,39,.4)),
    url("/assets/img/association-background.webp") center center / cover no-repeat;
}

.fp-assoc-card{
  max-width:940px;
  margin:0 auto;
  padding:clamp(26px,4vw,44px);
  border-radius:30px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  text-align:center;
}
.fp-assoc-card h2{
  font-family:var(--font-t);
  font-size:clamp(1.9rem,4vw,2.7rem);
  font-weight:950;
  letter-spacing:-.04em;
  margin-bottom:16px;
}
.fp-assoc-card p{
  color:rgba(255,255,255,.86);
  font-size:1rem;
  line-height:1.85;
  white-space:pre-line;
  margin:0;
}


.game-shell{max-width:980px;margin:0 auto;padding:clamp(22px,4vw,38px);border-radius:30px;background:#fff;border:1px solid var(--fp-line);box-shadow:0 22px 54px rgba(17,24,39,.06)}
.game-toolbar{display:flex;flex-wrap:wrap;align-items:end;justify-content:center;gap:14px;margin-bottom:14px}
.game-select-row{display:flex;justify-content:center;align-items:end;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.game-action-row{display:flex;justify-content:center;margin-bottom:20px}
.game-field{min-width:170px;text-align:left}
.game-field label{display:block;font-size:.74rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase;color:var(--fp-muted);margin-bottom:6px}
.game-field select{min-height:46px;border-radius:14px;border:1.5px solid var(--fp-line);padding:10px 14px;font-size:.92rem;font-weight:800;color:var(--fp-ink);background:#fff;width:100%}
.game-turn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;border-radius:999px;background:var(--fp-red-soft);color:var(--fp-red);font-size:.9rem;font-weight:900}
.game-score{display:flex;gap:10px;justify-content:center;margin:16px 0;flex-wrap:wrap}
.game-score-box{min-width:140px;padding:12px 16px;border-radius:18px;background:#fff;border:1px solid var(--fp-line);box-shadow:none}
.game-score-box small{display:block;font-size:.76rem;color:var(--fp-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}
.game-score-box strong{display:block;font-size:1.35rem;color:var(--fp-ink)}
#jeuBoard{display:flex;justify-content:center;overflow-x:auto;padding:8px}
.game-board{display:inline-grid;gap:7px;padding:18px;background:var(--fp-soft);border-radius:22px;touch-action:none}
.tic-cell{width:104px;height:104px;border-radius:22px;background:#fff;border:2px solid var(--fp-line);font-size:2.45rem;font-weight:950;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:none}
.p4-board{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:16px;border-radius:20px;background:linear-gradient(180deg,#1f2937,#111827)}
.p4-cell{width:56px;height:56px;border-radius:50%;background:#f8fafc;border:2px solid rgba(255,255,255,.14);box-shadow:inset 0 2px 8px rgba(0,0,0,.12)}
.p4-cell.r{background:var(--fp-red)}.p4-cell.y{background:#F59E0B}
.p4-drop-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin:0 auto 8px;width:max-content}
.p4-drop{width:56px;height:42px;border-radius:12px;border:1.5px solid var(--fp-line);background:#fff;color:#374151;font-weight:900}
.mem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mem-card{width:82px;height:82px;border-radius:16px;cursor:pointer;perspective:700px;border:0;background:transparent;padding:0}
.mem-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .35s}
.mem-card.flip .mem-inner,.mem-card.matched .mem-inner{transform:rotateY(180deg)}
.mem-front,.mem-back{position:absolute;inset:0;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:2rem;backface-visibility:hidden;border:2px solid var(--fp-line);background:#fff;box-shadow:none}
.mem-back{transform:rotateY(180deg)}.mem-card.matched .mem-back{border-color:#22C55E;background:#F0FDF4}


.fp-game-reward{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;padding:10px 16px;border-radius:999px;background:#FFF7ED;color:#9A3412;font-weight:950}
.fp-game-reward i{color:#F59E0B}


.fp-challenge{position:relative;overflow:hidden;color:#fff;background:#111827}
.fp-challenge::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,24,39,.72),rgba(17,24,39,.88)),radial-gradient(circle at top right,rgba(198,40,40,.24),transparent 35%)}
.fp-confetti{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.fp-confetti span{position:absolute;top:-20px;width:8px;height:14px;border-radius:3px;background:#FBBF24;opacity:.85;animation:fpConfettiFall 8s linear infinite}
.fp-confetti span:nth-child(2n){background:#EF4444}
.fp-confetti span:nth-child(3n){background:#22C55E}
.fp-confetti span:nth-child(4n){background:#3B82F6}
.fp-confetti span:nth-child(1){left:5%;animation-delay:0s}
.fp-confetti span:nth-child(2){left:12%;animation-delay:1.4s}
.fp-confetti span:nth-child(3){left:18%;animation-delay:.5s}
.fp-confetti span:nth-child(4){left:27%;animation-delay:2.2s}
.fp-confetti span:nth-child(5){left:36%;animation-delay:.9s}
.fp-confetti span:nth-child(6){left:44%;animation-delay:3s}
.fp-confetti span:nth-child(7){left:53%;animation-delay:1.1s}
.fp-confetti span:nth-child(8){left:62%;animation-delay:2.7s}
.fp-confetti span:nth-child(9){left:70%;animation-delay:.3s}
.fp-confetti span:nth-child(10){left:78%;animation-delay:1.8s}
.fp-confetti span:nth-child(11){left:86%;animation-delay:3.3s}
.fp-confetti span:nth-child(12){left:94%;animation-delay:.7s}
@keyframes fpConfettiFall{0%{transform:translateY(-30px) rotate(0deg)}100%{transform:translateY(120vh) rotate(420deg)}}
.fp-challenge-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.fp-challenge-in{position:relative;z-index:1;max-width:1040px;margin:0 auto;padding:clamp(60px,8vw,96px) 24px;text-align:center}
.fp-challenge h2{font-family:var(--font-t);font-size:clamp(2rem,4vw,3rem);font-weight:950;letter-spacing:-.045em;line-height:1.08}
.fp-challenge-prize{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;color:#FBBF24}
.fp-challenge-prize i{font-size:1.15rem}
.fp-challenge-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.fp-challenge-step{padding:22px;border-radius:24px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px)}
.fp-challenge-step span{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin:0 auto 12px;background:rgba(255,255,255,.16);font-weight:950;color:#FBBF24;font-size:1.55rem}
.fp-challenge-step strong{display:block;color:#fff;font-size:.98rem;line-height:1.5}


.fp-deal-img{width:100%;height:185px;object-fit:cover;cursor:pointer}
.fp-deal-prices{display:flex;align-items:center;gap:8px;margin:10px 0;flex-wrap:wrap}
.fp-deal-original{color:#98A2B3;text-decoration:line-through;font-size:.85rem}
.fp-deal-price{color:#16A34A;font-size:1.25rem;font-weight:950}
.fp-deal-card .fp-card-body{text-align:center}
.fp-deal-prices{justify-content:center}
.fp-deal-meta{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--fp-muted);font-size:.82rem;margin-top:10px}
.fp-deal-stock{display:inline-flex;align-items:center;gap:5px;border-radius:999px;background:var(--fp-green-soft);color:var(--fp-green);font-weight:900;padding:5px 10px}
.fp-deal-exp{display:inline-flex;align-items:center;gap:5px;color:var(--fp-muted);font-weight:750}


.ob{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:.76rem;font-weight:900}
.ob.ouvert{background:var(--fp-green-soft);color:var(--fp-green)}
.ob.ferme{background:#FEF2F2;color:#B91C1C}
.h-row{display:flex;padding:8px 0;font-size:.92rem;border-bottom:1px solid rgba(17,24,39,.06)}
.h-day{width:105px;font-weight:850;color:var(--fp-ink);flex-shrink:0}
.h-today .h-day{color:var(--fp-red)}
.h-times{color:var(--fp-muted)}
.fp-contact-card{background:#fff;border:1px solid var(--fp-line);border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(17,24,39,.055)}
.clink{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(17,24,39,.06);text-decoration:none;color:#374151}
.clink:last-child{border-bottom:0}
.clink:hover{color:var(--fp-red)}
.clink-ic{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;font-size:18px;flex-shrink:0}
.clink-label{font-size:.72rem;color:var(--fp-muted);display:block;text-transform:uppercase;letter-spacing:.06em;font-weight:900}
.clink-val{font-weight:850;font-size:.94rem;color:var(--fp-ink)}
#map{height:260px;border-radius:18px;margin-top:16px;overflow:hidden}
.rs-a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:var(--fp-soft);font-size:19px;text-decoration:none;color:#374151;transition:.14s;margin:4px}
.rs-a:hover{background:var(--fp-red-soft);color:var(--fp-red);transform:scale(1.06)}


.lb{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.lb.open{opacity:1;pointer-events:auto}
.lb-img{max-width:90vw;max-height:82vh;border-radius:12px;object-fit:contain}
.lb-frame{display:none;width:min(92vw,1100px);height:min(82vh,820px);border:0;border-radius:14px;background:#fff}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(255,255,255,.15);border:none;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.lb-close{top:18px;right:22px;width:42px;height:42px;font-size:19px}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:20px}
.lb-prev{left:18px}.lb-next{right:18px}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.30)}
.lb-cap{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.8);font-size:.86rem;background:rgba(0,0,0,.45);padding:7px 14px;border-radius:999px;max-width:80vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-ct{position:absolute;top:18px;left:22px;color:rgba(255,255,255,.55);font-size:.8rem}
.p-bar{position:fixed;bottom:0;left:0;right:0;z-index:2000;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}
.p-bar.open{transform:translateY(0);pointer-events:auto}
.p-bar-in{background:var(--fp-red);color:#fff;padding:13px 22px;display:flex;align-items:center;gap:14px;max-width:760px;margin:0 auto;border-radius:18px 18px 0 0;box-shadow:0 -4px 20px rgba(198,40,40,.3)}
.p-bar-cnt{background:rgba(255,255,255,.25);border-radius:6px;padding:2px 10px;font-size:13px;font-weight:900;min-width:32px;text-align:center}
.p-bar-tot{font-weight:900;font-size:1rem;margin-left:auto}
.p-bar-btn{background:#fff;color:var(--fp-red);border:none;border-radius:999px;padding:9px 20px;font-weight:900;font-size:.85rem;cursor:pointer;flex-shrink:0}
.p-mod{position:fixed;inset:0;z-index:3000;display:flex;align-items:flex-end;opacity:0;pointer-events:none;transition:opacity .22s}
.p-mod.open{opacity:1;pointer-events:auto}
.p-mod-bg{position:absolute;inset:0;background:rgba(0,0,0,.48)}
.p-mod-box{position:relative;background:#fff;width:100%;max-width:520px;margin:0 auto;border-radius:24px 24px 0 0;padding:24px 18px 28px;max-height:88vh;overflow-y:auto;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.p-mod.open .p-mod-box{transform:translateY(0)}
.p-it{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(17,24,39,.06)}
.p-qty{display:flex;align-items:center;gap:7px;margin-left:auto}
.p-qty-btn{width:29px;height:29px;border-radius:50%;border:1.5px solid var(--fp-line);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:#374151}

@media(max-width:991.98px){
  .fp-command-steps,.fp-challenge-steps{grid-template-columns:1fr}
  .fp-command-info-grid{grid-template-columns:1fr}
}
@media(max-width:767.98px){
  .fp-hero{height:560px}
  .fp-open-badge{left:auto;right:12px;top:12px;min-height:34px;padding:7px 10px;font-size:.72rem;max-width:52vw;justify-content:center}
  .fp-hero-content{padding-top:40px}
  .fp-hero-actions{bottom:28px}
  .fp-btn-main,.fp-btn-ghost{width:100%;max-width:320px;justify-content:center}
  .fp-sec{padding:40px 0}
  .fp-about-img,.fp-about-placeholder{min-height:260px}
  .item-carte{align-items:flex-start}
  .ic-img,.ic-ph{width:62px;height:62px}
  .ic-right{align-items:flex-start}
  .tic-cell{width:92px;height:92px;font-size:2.15rem}
  .p4-cell{width:42px;height:42px}
  .p4-drop{width:42px}
  .mem-card{width:78px;height:78px}
  .fp-card-img,.fp-deal-img{height:210px}
  .lb-prev,.lb-next{display:none!important}
}

@media(max-width:520px){
  .game-select-row{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}
  .game-field{min-width:0;width:100%}
  .tic-cell{width:88px;height:88px;font-size:2.05rem}
}



.fp-review-card{max-width:760px;margin:0 auto;border-radius:26px;background:#fff;padding:clamp(24px,4vw,34px);border:1px solid rgba(17,24,39,.08)}
.fp-review-question{font-family:var(--font-t);font-size:1.22rem;text-align:center;color:#4b5563;margin-bottom:8px}
.star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:10px;margin-bottom:26px}
.star-rating input{display:none}
.star-rating label{font-size:2.45rem;line-height:1;cursor:pointer;color:#D6A000;transition:.15s}
.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#D6A000;transform:translateY(-2px)}
.fp-review-google{display:none;margin:4px auto 26px;padding:28px;border-radius:18px;background:linear-gradient(135deg,#f8f8ff,#f7fffb);border:1px solid #dbe4ff;text-align:center}
.fp-review-google h3{font-size:1.05rem;font-weight:950;margin:0 0 10px;color:var(--fp-ink)}
.fp-review-google p{max-width:620px;margin:0 auto 18px;color:#737373;line-height:1.75}
.fp-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:50px;border-radius:999px;background:#fff;border:1px solid #ddd;color:#333;text-decoration:none;font-weight:850}
.fp-google-btn:hover{border-color:#c9c9c9;color:#111}
.fp-google-g{font-weight:950;font-size:1.25rem;color:#4285F4}
.fp-review-sep{display:flex;align-items:center;gap:14px;margin:20px 0 28px;color:#8a8a8a;text-transform:uppercase;font-size:.86rem}
.fp-review-sep::before,.fp-review-sep::after{content:"";height:1px;background:#e5e7eb;flex:1}
.fp-review-thanks{text-align:center;font-family:var(--font-t);font-size:1.12rem;color:#7b6b61;font-style:italic;margin-bottom:24px}
.fp-field-label{display:flex;align-items:baseline;gap:6px;margin:18px 0 8px;color:#5f5f5f;font-size:.84rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.fp-field-label span{font-weight:500;letter-spacing:0;text-transform:none;color:#8a8a8a;font-size:.78rem}
.fp-review-input{min-height:58px;border-radius:12px;border:1px solid #e5e7eb;padding:14px 18px;color:#444;font-weight:600}
.fp-review-input:focus{border-color:#b89538;box-shadow:0 0 0 .18rem rgba(184,149,56,.12)}
.fp-review-textarea{min-height:140px;resize:vertical}
.fp-review-submit{width:100%;min-height:50px;margin-top:22px;border:0;border-radius:999px;background:#b89538;color:#fff;font-weight:950;letter-spacing:.02em}
.fp-review-submit:hover{background:#9f7f2f;color:#fff}

.fp-hours-card{height:auto!important;width:100%}
.fp-contact-hours-col{display:flex;flex-direction: column;}

.fp-confetti{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.fp-confetti span{position:absolute;top:-40px;width:auto;height:auto;border-radius:0;background:transparent;font-size:1.4rem;opacity:.9;animation:fpConfettiFall 9s linear infinite}
.fp-confetti span::before{content:"🎊"}
.fp-confetti span:nth-child(2n)::before{content:"🎉"}
.fp-confetti span:nth-child(3n)::before{content:"✨"}
.fp-confetti span:nth-child(4n)::before{content:"🔴"}
.fp-confetti span:nth-child(5n)::before{content:"🟡"}
.fp-confetti span:nth-child(1){left:4%;animation-delay:0s}
.fp-confetti span:nth-child(2){left:9%;animation-delay:1.1s}
.fp-confetti span:nth-child(3){left:15%;animation-delay:.4s}
.fp-confetti span:nth-child(4){left:21%;animation-delay:2.5s}
.fp-confetti span:nth-child(5){left:28%;animation-delay:1.8s}
.fp-confetti span:nth-child(6){left:35%;animation-delay:.7s}
.fp-confetti span:nth-child(7){left:42%;animation-delay:3.2s}
.fp-confetti span:nth-child(8){left:49%;animation-delay:1.4s}
.fp-confetti span:nth-child(9){left:56%;animation-delay:2.2s}
.fp-confetti span:nth-child(10){left:63%;animation-delay:.9s}
.fp-confetti span:nth-child(11){left:70%;animation-delay:3.7s}
.fp-confetti span:nth-child(12){left:77%;animation-delay:1.9s}
.fp-confetti span:nth-child(13){left:84%;animation-delay:.2s}
.fp-confetti span:nth-child(14){left:91%;animation-delay:2.8s}
.fp-confetti span:nth-child(15){left:96%;animation-delay:1.2s}
@keyframes fpConfettiFall{0%{transform:translateY(-40px) rotate(0deg)}100%{transform:translateY(120vh) rotate(460deg)}}
.fp-challenge-objective{display:block;margin-top:8px;color:rgba(255,255,255,.72)}
.fp-challenge-prize{font-size:clamp(1.75rem,4vw,2.75rem)}
.fp-challenge-prize .gift-emoji{font-size:.82em;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}
.fp-deal-card .fp-card-body{text-align:center}
.fp-deal-prices{justify-content:center}
.fp-deal-meta{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px}
.fp-deal-stock{display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--fp-green-soft);color:var(--fp-green);font-weight:950;padding:6px 12px;font-size:.82rem}
.fp-deal-exp{display:inline-flex;align-items:center;gap:6px;color:var(--fp-muted);font-weight:750;font-size:.82rem}
@media(max-width:767.98px){
  .game-shell{padding:18px 12px;border-radius:22px}
  #jeuBoard{padding:4px;overflow:hidden}
  .game-board{gap:6px;padding:12px;border-radius:18px}
  .tic-cell{width:min(29vw,92px);height:min(29vw,92px);font-size:clamp(1.8rem,9vw,2.2rem);border-radius:18px}
  .p4-board{gap:5px;padding:10px;border-radius:16px}
  .p4-cell{width:min(11.4vw,42px);height:min(11.4vw,42px)}
  .p4-drop-row{gap:5px}
  .p4-drop{width:min(11.4vw,42px);height:34px}
  .mem-grid{gap:7px}
  .mem-card{width:min(20vw,72px);height:min(20vw,72px)}
  .mem-front,.mem-back{font-size:clamp(1.45rem,8vw,2rem);border-radius:14px}
  .fp-review-card{padding:22px 18px;border-radius:22px}
  .star-rating label{font-size:2.15rem}
}
@media(max-width:430px){
  .mem-card{width:min(19vw,64px);height:min(19vw,64px)}
  .p4-board{gap:4px;padding:8px}
  .p4-cell{width:min(10.8vw,38px);height:min(10.8vw,38px)}
  .p4-drop{width:min(10.8vw,38px)}
}



.fp-review-card{max-width:780px;margin:0 auto;border-radius:30px;background:radial-gradient(circle at top right,rgba(198,40,40,.08),transparent 18rem),#fff;padding:clamp(24px,4vw,38px);border:1px solid rgba(198,40,40,.13);box-shadow:0 22px 58px rgba(17,24,39,.07)}
.fp-review-head{text-align:center;margin-bottom:18px}
.fp-review-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:20px;background:var(--fp-red-soft);color:var(--fp-red);display:grid;place-items:center;font-size:1.45rem}
.fp-review-question{font-family:var(--font-t);font-size:clamp(1.55rem,3vw,2.15rem);font-weight:950;letter-spacing:-.035em;text-align:center;color:var(--fp-ink);margin:0}
.fp-review-sub{margin:8px auto 0;max-width:560px;color:var(--fp-muted);line-height:1.65;text-align:center}
.star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:9px;margin:20px 0 24px}
.star-rating input{display:none}
.star-rating label{font-size:clamp(2rem,6vw,2.75rem);line-height:1;cursor:pointer;color:#D1D5DB;transition:color .15s ease,transform .15s ease,text-shadow .15s ease}
.star-rating label:hover,.star-rating label:hover~label,.star-rating input:checked~label{color:#D6A000;transform:translateY(-2px);text-shadow:0 8px 18px rgba(214,160,0,.16)}
.fp-review-google{display:none;margin:0 auto 24px;padding:24px;border-radius:24px;background:linear-gradient(135deg,#fff,#fff7f7);border:1px solid rgba(198,40,40,.14);text-align:center}
.fp-review-google h3{font-size:1.08rem;font-weight:950;margin:0 0 10px;color:var(--fp-ink)}
.fp-review-google p{max-width:620px;margin:0 auto 18px;color:var(--fp-muted);line-height:1.75}
.fp-google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;border-radius:999px;background:#fff;border:1px solid rgba(17,24,39,.12);color:#333;text-decoration:none;font-weight:900;transition:.18s}
.fp-google-btn:hover{border-color:rgba(198,40,40,.22);color:var(--fp-red);transform:translateY(-1px)}
.fp-google-g{font-weight:950;font-size:1.28rem;color:#4285F4}
.fp-review-low{display:none;margin:0 auto 24px;padding:18px 20px;border-radius:20px;background:var(--fp-soft);border:1px solid var(--fp-line);color:var(--fp-muted);line-height:1.65;text-align:center}
.fp-review-sep{display:flex;align-items:center;gap:14px;margin:18px 0 24px;color:#9CA3AF;text-transform:uppercase;font-size:.82rem;font-weight:850}
.fp-review-sep::before,.fp-review-sep::after{content:"";height:1px;background:#e5e7eb;flex:1}
.fp-review-thanks{text-align:center;font-family:var(--font-t);font-size:1.08rem;color:#7b6b61;font-style:italic;margin-bottom:22px}
.fp-field-label{display:flex;align-items:baseline;gap:6px;margin:17px 0 8px;color:#4B5563;font-size:.82rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}
.fp-field-label span{font-weight:550;letter-spacing:0;text-transform:none;color:#8a8a8a;font-size:.78rem}
.fp-review-input{min-height:58px;border-radius:14px;border:1px solid #e5e7eb;padding:14px 18px;color:#374151;font-weight:650;background:#fff}
.fp-review-input:focus{border-color:var(--fp-red);box-shadow:0 0 0 .18rem rgba(198,40,40,.10)}
.fp-review-textarea{min-height:145px;resize:vertical}
.fp-review-submit{width:100%;min-height:52px;margin-top:22px;border:0;border-radius:999px;background:var(--fp-red);color:#fff;font-weight:950;letter-spacing:.02em;transition:.18s}
.fp-review-submit:hover{background:var(--fp-red-dark);color:#fff;transform:translateY(-1px)}
.fp-review-error{display:none;margin-top:12px;color:#B91C1C;text-align:center;font-weight:800;font-size:.9rem}

.fp-challenge{isolation:isolate}
.fp-confetti{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.fp-confetti span{position:absolute;top:-52px;width:auto;height:auto;border-radius:0;background:transparent!important;font-size:1.45rem;opacity:.95;animation:fpConfettiFallNew 8.5s linear infinite}
.fp-confetti span::before{content:"🎊"}
.fp-confetti span:nth-child(2n)::before{content:"🎉"}
.fp-confetti span:nth-child(3n)::before{content:"✨"}
.fp-confetti span:nth-child(4n)::before{content:"🔴"}
.fp-confetti span:nth-child(5n)::before{content:"🟡"}
.fp-confetti span:nth-child(6n)::before{content:"🟢"}
.fp-confetti span:nth-child(1){left:3%;animation-delay:0s}
.fp-confetti span:nth-child(2){left:10%;animation-delay:1.1s}
.fp-confetti span:nth-child(3){left:16%;animation-delay:.35s}
.fp-confetti span:nth-child(4){left:23%;animation-delay:2.1s}
.fp-confetti span:nth-child(5){left:31%;animation-delay:1.5s}
.fp-confetti span:nth-child(6){left:39%;animation-delay:.7s}
.fp-confetti span:nth-child(7){left:47%;animation-delay:2.8s}
.fp-confetti span:nth-child(8){left:55%;animation-delay:1.25s}
.fp-confetti span:nth-child(9){left:63%;animation-delay:3.2s}
.fp-confetti span:nth-child(10){left:71%;animation-delay:.9s}
.fp-confetti span:nth-child(11){left:79%;animation-delay:2.4s}
.fp-confetti span:nth-child(12){left:88%;animation-delay:1.7s}
.fp-confetti span:nth-child(13){left:94%;animation-delay:.45s}
.fp-confetti span:nth-child(14){left:98%;animation-delay:2.95s}
.fp-confetti span:nth-child(15){left:6%;animation-delay:3.45s}
.fp-challenge-in{z-index:3}
@keyframes fpConfettiFallNew{0%{transform:translateY(-60px) translateX(0) rotate(0deg)}50%{transform:translateY(58vh) translateX(24px) rotate(240deg)}100%{transform:translateY(120vh) translateX(-18px) rotate(520deg)}}
@media(max-width:767.98px){
  .fp-backtop{width:48px;height:48px;right:14px;bottom:14px}
  .fp-review-card{border-radius:24px;padding:22px 18px}
  .fp-review-icon{width:52px;height:52px;border-radius:18px}
}


.fp-instagram-follow-wrap{display:flex;justify-content:center;margin-top:18px}
.fp-instagram-follow{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 20px;border-radius:999px;background:linear-gradient(135deg,#833AB4,#E1306C,#F77737);color:#fff;text-decoration:none;font-weight:950;box-shadow:0 14px 30px rgba(225,48,108,.18);transition:.18s}
.fp-instagram-follow:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px rgba(225,48,108,.24)}
.fp-instagram-follow i{font-size:1.15rem}
.fp-review-card{max-width:820px;margin:0 auto;border-radius:30px;background:radial-gradient(circle at top right,rgba(198,40,40,.08),transparent 18rem),linear-gradient(180deg,#fff,#fffafa);padding:clamp(24px,4vw,38px);border:1px solid rgba(198,40,40,.13);box-shadow:none}
.fp-review-head{text-align:center;margin-bottom:18px}
.fp-review-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:20px;background:var(--fp-red-soft);color:var(--fp-red);display:grid;place-items:center;font-size:1.45rem}
.fp-review-question{font-family:var(--font-t);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:950;letter-spacing:-.035em;text-align:center;color:var(--fp-ink);margin:0}
.fp-review-sub{margin:9px auto 0;max-width:590px;color:var(--fp-muted);line-height:1.65;text-align:center}
.fp-review-form{display:none}
.fp-review-form.is-open{display:block}
.fp-review-google{display:none;margin:0 auto 24px;padding:24px;border-radius:24px;background:linear-gradient(135deg,#fff,#fff7f7);border:1px solid rgba(198,40,40,.14);text-align:center}
.fp-review-google h3{font-size:1.08rem;font-weight:950;margin:0 0 10px;color:var(--fp-ink)}
.fp-review-google p{max-width:640px;margin:0 auto 18px;color:var(--fp-muted);line-height:1.75}
.fp-review-low{display:none;margin:0 auto 24px;padding:18px 20px;border-radius:20px;background:var(--fp-soft);border:1px solid var(--fp-line);color:var(--fp-muted);line-height:1.65;text-align:center}
.fp-review-sep{display:none;align-items:center;gap:14px;margin:18px 0 24px;color:#9CA3AF;text-transform:uppercase;font-size:.82rem;font-weight:850}
.fp-review-sep.is-open{display:flex}
.fp-review-sep::before,.fp-review-sep::after{content:"";height:1px;background:#e5e7eb;flex:1}
.fp-review-thanks{display:none;text-align:center;font-family:var(--font-t);font-size:1.08rem;color:#7b6b61;font-style:italic;margin-bottom:22px}
.fp-review-thanks.is-open{display:block}
.fp-review-submit{background:var(--fp-red)}
.fp-review-submit:hover{background:var(--fp-red-dark)}
.fp-challenge{isolation:isolate}
.fp-challenge::before{z-index:1}
.fp-challenge-bg{z-index:0}
.fp-confetti{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.fp-confetti span{position:absolute;top:-58px;width:auto;height:auto;border-radius:0;background:transparent!important;font-size:1.65rem;opacity:1;animation:fpConfettiFallVisible 7.8s linear infinite;text-shadow:0 6px 18px rgba(0,0,0,.28)}
.fp-confetti span::before{content:"🎊"}
.fp-confetti span:nth-child(2n)::before{content:"🎉"}
.fp-confetti span:nth-child(3n)::before{content:"✨"}
.fp-confetti span:nth-child(4n)::before{content:"🔴"}
.fp-confetti span:nth-child(5n)::before{content:"🟡"}
.fp-confetti span:nth-child(6n)::before{content:"🟢"}
.fp-confetti span:nth-child(1){left:3%;animation-delay:0s}
.fp-confetti span:nth-child(2){left:10%;animation-delay:1.1s}
.fp-confetti span:nth-child(3){left:16%;animation-delay:.35s}
.fp-confetti span:nth-child(4){left:23%;animation-delay:2.1s}
.fp-confetti span:nth-child(5){left:31%;animation-delay:1.5s}
.fp-confetti span:nth-child(6){left:39%;animation-delay:.7s}
.fp-confetti span:nth-child(7){left:47%;animation-delay:2.8s}
.fp-confetti span:nth-child(8){left:55%;animation-delay:1.25s}
.fp-confetti span:nth-child(9){left:63%;animation-delay:3.2s}
.fp-confetti span:nth-child(10){left:71%;animation-delay:.9s}
.fp-confetti span:nth-child(11){left:79%;animation-delay:2.4s}
.fp-confetti span:nth-child(12){left:88%;animation-delay:1.7s}
.fp-confetti span:nth-child(13){left:94%;animation-delay:.45s}
.fp-confetti span:nth-child(14){left:98%;animation-delay:2.95s}
.fp-confetti span:nth-child(15){left:6%;animation-delay:3.45s}
.fp-challenge-in{position:relative;z-index:3}
@keyframes fpConfettiFallVisible{0%{transform:translateY(-70px) translateX(0) rotate(0deg)}50%{transform:translateY(56vh) translateX(24px) rotate(240deg)}100%{transform:translateY(120vh) translateX(-18px) rotate(520deg)}}
@media(max-width:767.98px){
  .fp-instagram-follow{width:100%;max-width:330px}
  .fp-review-card{border-radius:24px;padding:22px 18px}
}



.fp-gallery-img{pointer-events:auto}
.fp-review-error{display:none;margin-top:12px;text-align:center;color:#b91c1c;font-weight:850;font-size:.9rem}
.fp-confetti{position:absolute;inset:0;z-index:8!important;pointer-events:none;overflow:hidden}
.fp-confetti span{position:absolute;top:-70px;width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;font-size:1.9rem!important;opacity:1!important;animation:fpConfettiVisible 6.8s linear infinite!important;text-shadow:0 8px 20px rgba(0,0,0,.45)}
.fp-confetti span::before{content:"🎊"}
.fp-confetti span:nth-child(2n)::before{content:"🎉"}
.fp-confetti span:nth-child(3n)::before{content:"✨"}
.fp-confetti span:nth-child(4n)::before{content:"🔴"}
.fp-confetti span:nth-child(5n)::before{content:"🟡"}
.fp-confetti span:nth-child(6n)::before{content:"🟢"}
.fp-confetti span:nth-child(1){left:3%;animation-delay:0s!important}
.fp-confetti span:nth-child(2){left:10%;animation-delay:.6s!important}
.fp-confetti span:nth-child(3){left:16%;animation-delay:1.1s!important}
.fp-confetti span:nth-child(4){left:23%;animation-delay:1.7s!important}
.fp-confetti span:nth-child(5){left:31%;animation-delay:2.4s!important}
.fp-confetti span:nth-child(6){left:39%;animation-delay:.25s!important}
.fp-confetti span:nth-child(7){left:47%;animation-delay:.9s!important}
.fp-confetti span:nth-child(8){left:55%;animation-delay:1.5s!important}
.fp-confetti span:nth-child(9){left:63%;animation-delay:2.2s!important}
.fp-confetti span:nth-child(10){left:71%;animation-delay:.4s!important}
.fp-confetti span:nth-child(11){left:79%;animation-delay:1.2s!important}
.fp-confetti span:nth-child(12){left:88%;animation-delay:2.6s!important}
.fp-confetti span:nth-child(13){left:94%;animation-delay:.8s!important}
.fp-confetti span:nth-child(14){left:98%;animation-delay:1.9s!important}
.fp-confetti span:nth-child(15){left:6%;animation-delay:3s!important}
.fp-challenge-in{position:relative;z-index:9!important}
@keyframes fpConfettiVisible{0%{transform:translateY(-80px) translateX(0) rotate(0deg)}45%{transform:translateY(52vh) translateX(26px) rotate(260deg)}100%{transform:translateY(120vh) translateX(-18px) rotate(560deg)}}

.fp-gallery-img,.js-fp-media{cursor:zoom-in!important;pointer-events:auto!important}
.fp-review-error{display:none;margin-top:12px;text-align:center;color:#b91c1c;font-weight:850;font-size:.9rem}
.fp-review-input.is-invalid{border-color:#b91c1c!important;box-shadow:0 0 0 .18rem rgba(185,28,28,.10)!important}
.fp-confetti{position:absolute!important;inset:0!important;z-index:50!important;pointer-events:none!important;overflow:hidden!important}
.fp-confetti span{position:absolute!important;top:-60px!important;width:auto!important;height:auto!important;background:transparent!important;border-radius:0!important;font-size:2rem!important;opacity:1!important;animation:fpConfettiV9 6s linear infinite!important;text-shadow:0 8px 22px rgba(0,0,0,.55)!important}
.fp-confetti span::before{content:"🎊"!important}
.fp-confetti span:nth-child(2n)::before{content:"🎉"!important}
.fp-confetti span:nth-child(3n)::before{content:"✨"!important}
.fp-confetti span:nth-child(4n)::before{content:"🔴"!important} 
.fp-confetti span:nth-child(5n)::before{content:"🟡"!important}
.fp-confetti span:nth-child(6n)::before{content:"🟢"!important}
.fp-confetti span:nth-child(1){left:4%;animation-delay:0s!important}
.fp-confetti span:nth-child(2){left:11%;animation-delay:.4s!important}
.fp-confetti span:nth-child(3){left:18%;animation-delay:.9s!important}
.fp-confetti span:nth-child(4){left:25%;animation-delay:1.4s!important}
.fp-confetti span:nth-child(5){left:32%;animation-delay:2s!important}
.fp-confetti span:nth-child(6){left:39%;animation-delay:.2s!important}
.fp-confetti span:nth-child(7){left:46%;animation-delay:.8s!important}
.fp-confetti span:nth-child(8){left:53%;animation-delay:1.7s!important}
.fp-confetti span:nth-child(9){left:61%;animation-delay:2.5s!important}
.fp-confetti span:nth-child(10){left:69%;animation-delay:.6s!important}
.fp-confetti span:nth-child(11){left:77%;animation-delay:1.2s!important}
.fp-confetti span:nth-child(12){left:85%;animation-delay:2.2s!important}
.fp-confetti span:nth-child(13){left:93%;animation-delay:.3s!important}
.fp-confetti span:nth-child(14){left:98%;animation-delay:1.8s!important}
.fp-confetti span:nth-child(15){left:6%;animation-delay:2.8s!important}
@keyframes fpConfettiV9{0%{transform:translateY(-80px) translateX(0) rotate(0deg)}100%{transform:translateY(120vh) translateX(28px) rotate(600deg)}}
.fp-challenge-in{z-index:60!important}
.fp-backtop{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1800;
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 50%;
  background: var(--fp-red);
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 14px 32px rgba(198,40,40,.32);

  opacity: 0;
  pointer-events: none;
  transform: translateY(12px) scale(.92);
  transition: opacity .22s ease, transform .22s ease, background .22s ease;
}

.fp-backtop.show{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.fp-backtop i{animation:fpBackArrowV9 1.1s ease-in-out infinite!important}
@keyframes fpBackArrowV9{0%,100%{transform:translateY(4px)}50%{transform:translateY(-4px)}}
.fp-gallery-title-row{
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:18px;
    position:relative;
    min-height:110px;
}
.fp-gallery-title-main{flex:1 1 auto}
.fp-gallery-corner{
    position:absolute;
    top:-10px;
    right:24px;
    z-index:5;
}

@media(min-width:992px){
    #galerie .fp-in{
        position:relative;
    }

    #galerie .fp-gallery-corner{
        position:absolute;
right: -200px;
    top: -50px;
    }
}

.fp-community-btn{
    position:relative;border:0;min-width:245px;min-height:86px;padding:14px 18px;border-radius:26px;color:#fff;cursor:pointer;
    display:flex;align-items:center;gap:14px;text-align:left;overflow:hidden;
    background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.42),transparent 24%),linear-gradient(145deg,#ff5959 0%,#d32121 34%,#8d1111 72%,#5f0808 100%);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.34),inset 0 -9px 18px rgba(0,0,0,.24),0 18px 42px rgba(155,20,20,.28);
    transform:translateZ(0);transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;
}
.fp-community-btn:hover{
    transform:translateY(-3px) scale(1.015);color:#fff;filter:saturate(1.08);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.38),inset 0 -9px 18px rgba(0,0,0,.25),0 26px 54px rgba(155,20,20,.34);
}
.fp-community-btn::before{
    content:"";position:absolute;width:180px;height:180px;left:-46px;top:-48px;border-radius:50%;
    background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.08) 45deg,rgba(255,255,255,.55) 72deg,rgba(255,255,255,.10) 102deg,transparent 150deg,transparent 360deg);
    opacity:.82;mix-blend-mode:screen;animation:fpCommunityRotate 3.2s linear infinite;pointer-events:none;
}
.fp-community-btn::after{
    content:"";position:absolute;inset:1px;border-radius:25px;
    background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.16) 42%,rgba(255,255,255,.35) 50%,rgba(255,255,255,.12) 58%,transparent 100%);
    transform:translateX(-130%);animation:fpCommunitySweep 2.7s ease-in-out infinite;pointer-events:none;
}
@keyframes fpCommunityRotate{to{transform:rotate(360deg)}}
@keyframes fpCommunitySweep{0%,32%{transform:translateX(-130%)}62%,100%{transform:translateX(130%)}}
.fp-community-emoji{
    position:relative;z-index:2;width:58px;height:58px;border-radius:20px;flex:0 0 58px;display:grid;place-items:center;font-size:2rem;
    background:linear-gradient(145deg,#fff,#ffd8d8);
    box-shadow:inset 0 2px 0 rgba(255,255,255,.95),inset 0 -6px 12px rgba(0,0,0,.08),0 10px 18px rgba(0,0,0,.14);
    animation:fpEmojiPop 2.2s ease-in-out infinite;
}
.fp-community-emoji::after{
    content:"✨";position:absolute;top:-10px;right:-9px;font-size:1.1rem;filter:drop-shadow(0 0 8px rgba(255,255,255,.85));animation:fpEmojiFlash 1.6s ease-in-out infinite;
}
@keyframes fpEmojiPop{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(3deg) scale(1.05)}}
@keyframes fpEmojiFlash{0%,100%{opacity:.4;transform:scale(.75) rotate(0deg)}45%{opacity:1;transform:scale(1.25) rotate(16deg)}}
.fp-community-text{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px;min-width:0}
.fp-community-text strong{display:block;color:#fff;font-size:1rem;line-height:1.12;font-weight:950;letter-spacing:-.02em}
.fp-community-text span{display:block;color:rgba(255,255,255,.88);font-size:.79rem;line-height:1.32;font-weight:700}

#photoSuggestionModal{z-index:5000!important}
.modal-backdrop.show{z-index:4990!important}
.fp-photo-modal-card{border-radius:30px!important;box-shadow:0 34px 90px rgba(17,24,39,.28);background:radial-gradient(circle at top right,rgba(198,40,40,.10),transparent 18rem),#fff}
.fp-photo-modal-head{border:0;padding:22px 24px 0}
.fp-photo-modal-title{display:flex;align-items:center;gap:12px;font-weight:950;color:#111827}
.fp-photo-modal-title span{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#d83434,#8f1212);color:#fff;box-shadow:0 14px 28px rgba(198,40,40,.24);font-size:1.45rem}
.fp-photo-modal-hero{background:linear-gradient(145deg,#fff7f7 0%,#fff 100%);border:1px solid rgba(198,40,40,.13);border-radius:24px;padding:18px;display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.fp-photo-modal-hero-ic{width:56px;height:56px;border-radius:20px;background:linear-gradient(145deg,#fff,#ffe0e0);color:#b91c1c;display:grid;place-items:center;flex:0 0 56px;font-size:1.8rem;box-shadow:inset 0 2px 0 rgba(255,255,255,.9),0 12px 20px rgba(185,28,28,.10)}
.fp-photo-tip{background:#fff7f7;border:1px solid rgba(198,40,40,.12);border-radius:20px;padding:14px 16px;color:#7f1d1d;font-size:13px;line-height:1.7;margin-bottom:14px}
.fp-photo-opportunity{
    background:#F0FDF4;
    border:1px solid #BBF7D0;
    border-radius:20px;
    padding:14px 16px;
    color:#166534;
    font-size:13px;
    line-height:1.7;
    margin-bottom:14px;
}

.fp-photo-opportunity strong{
    color:#14532D;
    font-weight:950;
}
.fp-photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.fp-photo-pick{border:1px dashed rgba(198,40,40,.28);background:#fff;border-radius:20px;padding:16px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:62px;font-weight:900;color:#111827;cursor:pointer;transition:.18s ease;text-align:center}
.fp-photo-pick:hover{border-color:rgba(198,40,40,.6);color:#b91c1c;background:#fffafa;transform:translateY(-1px)}
.fp-photo-pick span:first-child{font-size:1.35rem}
.fp-photo-preview-wrap{display:none;margin-top:14px}
.fp-photo-preview-wrap.is-visible{display:block}
.fp-photo-preview-title{font-size:.84rem;font-weight:900;color:#111827;margin-bottom:10px}
.fp-photo-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fp-photo-preview-item{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(17,24,39,.08);background:#f8fafc;aspect-ratio:1/1}
.fp-photo-preview-item img{width:100%;height:100%;object-fit:cover;display:block}
.fp-photo-remove{position:absolute;top:7px;right:7px;width:30px;height:30px;border-radius:50%;border:0;background:rgba(17,24,39,.82);color:#fff;display:grid;place-items:center;cursor:pointer;transition:.15s ease}
.fp-photo-remove:hover{background:#c62828;transform:scale(1.06)}
.fp-photo-count{margin-top:10px;font-size:.78rem;color:#6b7280}
.fp-photo-success-state{display:none;padding:28px 22px 34px;text-align:center}
.fp-photo-success-icon{width:86px;height:86px;border-radius:28px;display:grid;place-items:center;margin:0 auto 16px;font-size:2.4rem;background:linear-gradient(145deg,#dcfce7,#fff);box-shadow:0 18px 40px rgba(22,101,52,.13)}
.fp-photo-success-state h3{font-size:1.35rem;font-weight:950;color:#14532d;margin:0 0 8px}
.fp-photo-success-state p{color:#166534;line-height:1.7;margin:0 auto;max-width:520px}
.fp-photo-success-close{margin-top:20px}
@media(max-width:991.98px){
    .fp-gallery-corner{position:static;width:100%;margin-top:18px}
    .fp-gallery-title-row{flex-direction:column;align-items:center}
    .fp-community-btn{width:100%;max-width:430px;min-width:0;margin:0 auto}
}
@media(max-width:767.98px){
    .fp-photo-actions{grid-template-columns:1fr}
    .fp-photo-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

.fp-service-marquee{
  background:#fff;
  border-bottom:1px solid var(--fp-line);
  overflow:hidden;
}
.fp-service-wrap{
  width:100%;
  margin:0 auto;
  padding:18px 24px;
  overflow-x:auto;
  scrollbar-width:none;
  cursor:grab;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  touch-action:pan-x;
}
.fp-service-wrap::-webkit-scrollbar{display:none}
.fp-service-wrap.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
}
.fp-service-wrap.is-dragging *{
  user-select:none;
  -webkit-user-select:none;
}
.fp-service-track{
  display:flex;
  gap:12px;
  width:max-content;
  min-width:max-content;
  will-change:transform,scroll-position;
}
.fp-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:10px 18px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--fp-line);
  box-shadow:0 8px 20px rgba(17,24,39,.04);
  white-space:nowrap;
  color:#374151;
  font-weight:750;
  font-size:.9rem;
}
.fp-chip i{color:var(--fp-red)}

.fp-carousel{
  position:relative;
  overflow:visible;
}

.fp-carousel-viewport{
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:4px 2px 8px;
  cursor:grab;
  scroll-behavior:smooth;
  overscroll-behavior-x:contain;
  touch-action: pan-y pinch-zoom;
}

.fp-carousel-viewport .fp-slide{
  touch-action: pan-y pinch-zoom;
}

.fp-carousel-viewport::-webkit-scrollbar{display:none}

.fp-carousel-viewport.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  scroll-behavior:auto;
}

.fp-carousel-viewport.is-dragging *{user-select:none}
.fp-carousel-viewport.is-dragging img{pointer-events:none}

.fp-carousel-track{
  display:flex;
  gap:18px;
  align-items:stretch;
}

.fp-slide{
  flex:0 0 calc((100% - 36px) / 3);
  scroll-snap-align:start;
  min-width:0;
}

.fp-carousel-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:18px;
}

.fp-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  background:#D1D5DB;
  padding:0;
  transition:.2s;
}

.fp-dot.active{
  width:24px;
  background:var(--fp-red);
}

.fp-carousel-arrows{
  pointer-events:none;
  z-index:4;
}

.fp-carr-btn{
  width:52px;
  height:52px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,24,39,.10);
  background:rgba(255,255,255,.96);
  color:#1F2937;
  box-shadow:0 14px 34px rgba(17,24,39,.14);
  transition:.22s;
  pointer-events:auto;
}

.fp-carr-btn i{
  font-size:1.2rem;
  line-height:1;
}

.fp-carr-btn:hover{
  background:var(--fp-red);
  color:#fff;
  border-color:var(--fp-red);
}

@media(min-width:768px){
  .fp-carousel{
    padding-left:72px;
    padding-right:72px;
  }

  .fp-carousel-arrows{
    position:absolute;
    inset:0;
  }

  .fp-carousel-arrows .fp-carr-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
  }

  .fp-carr-btn-prev{
    left:0;
  }

  .fp-carr-btn-next{
    right:0;
  }

  .fp-carousel-arrows .fp-carr-btn:hover{
    transform:translateY(-50%) scale(1.06);
  }
}

@media(max-width:767.98px){
  .fp-slide{flex-basis:100%}
  .fp-carousel-track{gap:14px}

  .fp-carousel-arrows{
    position:static;
    inset:auto;
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:12px;
    pointer-events:auto;
  }

  .fp-carousel-arrows .fp-carr-btn{
    position:static;
    top:auto;
    left:auto;
    right:auto;
    transform:none;
    width:44px;
    height:44px;
  }

  .fp-carousel-arrows .fp-carr-btn:hover{
    transform:none;
  }

  .fp-carousel-nav{
    margin-top:10px;
  }
}


.fp-promo-card,.fp-deal-card,.fp-suggestion-card{
  height:100%;
  overflow:hidden;
  border:1px solid var(--fp-line);
  border-radius:22px;
  background:#fff;
  box-shadow:none;
  transition:.22s
}
.fp-promo-card:hover,.fp-deal-card:hover,.fp-suggestion-card:hover{
  transform:translateY(-2px);
  box-shadow:none;
  border-color:rgba(198,40,40,.18)
}

.fp-card-img{
  width:100%;
  height:190px;
  object-fit:cover;
  cursor:pointer
}
.fp-card-ph{
  height:190px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--fp-red-soft),#fff);
  color:var(--fp-red);
  font-size:2.5rem
}
.fp-card-body{
  padding:18px
}
.fp-card-body h3{
  font-size:1.02rem;
  font-weight:900;
  line-height:1.25;
  margin:0 0 8px;
  color:var(--fp-ink)
}
.fp-card-body p{
  color:var(--fp-muted);
  font-size:.9rem;
  line-height:1.65;
  margin:0
}


@media (max-width: 767.98px){
  .fp-hero h1 a,
  .fp-hero-city a,
  .fp-hero-spec a,
  .fp-hero-content a.fp-hero-title-link,
  .fp-hero-content a.fp-hero-city-link{
    pointer-events:none !important;
    cursor:default !important;
    text-decoration:none !important;
    color:inherit !important;
  }
}


.fp-assoc-v4{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:#070b16;
  --assoc-shift:0px;
}

.fp-assoc-v4::before{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:-3;
  background:
    linear-gradient(180deg, rgba(4,8,18,.84), rgba(4,8,18,.96));
  transform:translate3d(0, var(--assoc-shift), 0) scale(1.12);
  will-change:transform;
  opacity:1;
}

.fp-assoc-v4::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.06), transparent 18rem),
    radial-gradient(circle at 82% 16%, rgba(255,255,255,.05), transparent 14rem),
    radial-gradient(circle at 78% 78%, rgba(198,40,40,.14), transparent 18rem),
    linear-gradient(180deg, rgba(8,12,24,.32), rgba(2,5,14,.72));
}

.fp-assoc-v4-kicker{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    color: var(--fp-card);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}



.fp-assoc-v4-grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:36px;
  align-items:center;
}

.fp-assoc-v4-content{
  position:relative;
  z-index:3;
  max-width:680px;
}

.fp-assoc-v4-title{
  margin:0 0 16px;
  font-family:var(--font-t);
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1.02;
  letter-spacing:-.045em;
  font-weight:950;
  color:#fff;
  text-shadow:0 4px 24px rgba(0,0,0,.24);
}

.fp-assoc-v4-text{
  margin:0;
  font-size:1rem;
  line-height:1.95;
  color:rgba(255,255,255,.86);
}

.fp-assoc-v4-actions{
  margin-top:22px;
  display:flex;
  align-items:center;
}

.fp-assoc-v4-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  text-decoration:none;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.01em;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
  backdrop-filter:blur(10px);
}

.fp-assoc-v4-btn:hover{
  color:#fff;
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.26);
  transform:translateY(-1px);
}

.fp-assoc-v4-media{
  position:relative;
  z-index:3;
}

.fp-assoc-v4-video-card{
  position:relative;
  margin:20px 0;
  padding:16px;
  border-radius:30px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 80px rgba(0,0,0,.30);
  backdrop-filter:blur(14px);
  animation:fpAssocVideoFloat 5.2s ease-in-out infinite;
}

.fp-assoc-v4-video-wrap{
  position:relative;
  width:100%;
  padding-top:56.25%;
  overflow:hidden;
  border-radius:22px;
  background:#000;
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}

.fp-assoc-v4-video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  border-radius:22px;
}

.fp-assoc-heart{
  position:absolute;
  z-index:1;
  color:#e11d48;
  filter:drop-shadow(0 0 10px rgba(225,29,72,.35)) drop-shadow(0 10px 18px rgba(0,0,0,.16));
  animation:fpAssocFloat 8s ease-in-out infinite, fpAssocBeat 1.8s ease-in-out infinite;
  pointer-events:none;
  opacity:.95;
}

@keyframes fpAssocBeat{
  0%,100%{opacity:.72;transform:scale(1)}
  15%{opacity:1;transform:scale(1.14)}
  30%{opacity:.82;transform:scale(1)}
  45%{opacity:1;transform:scale(1.18)}
  60%{opacity:.82;transform:scale(1)}
}

.fp-assoc-heart i{
  display:block;
}

.fp-assoc-heart-1{left:4%;top:12%;font-size:20px;animation-delay:0s,.10s}
.fp-assoc-heart-2{left:9%;bottom:16%;font-size:30px;animation-delay:1.1s,.26s}
.fp-assoc-heart-3{left:42%;top:9%;font-size:18px;animation-delay:2.2s,.18s}
.fp-assoc-heart-4{right:8%;top:15%;font-size:26px;animation-delay:.9s,.14s}
.fp-assoc-heart-5{right:4%;bottom:13%;font-size:32px;animation-delay:1.8s,.34s}
.fp-assoc-heart-6{right:35%;bottom:8%;font-size:16px;animation-delay:2.7s,.06s}

.fp-assoc-star{
  position:absolute;
  z-index:1;
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(245, 200, 92, .95);
  box-shadow:0 0 10px rgba(245, 200, 92, .78), 0 0 18px rgba(212, 175, 55, .42);
  animation:fpAssocStarTwinkle 2.8s ease-in-out infinite;
  pointer-events:none;
}

.fp-assoc-star-1{left:7%;top:22%;animation-delay:.1s}
.fp-assoc-star-2{left:16%;top:8%;animation-delay:1.2s}
.fp-assoc-star-3{left:27%;top:28%;animation-delay:.8s}
.fp-assoc-star-4{left:38%;top:18%;animation-delay:2.1s}
.fp-assoc-star-5{left:52%;top:10%;animation-delay:1.7s}
.fp-assoc-star-6{left:64%;top:24%;animation-delay:.4s}
.fp-assoc-star-7{left:76%;top:12%;animation-delay:2.4s}
.fp-assoc-star-8{left:88%;top:26%;animation-delay:1.1s}
.fp-assoc-star-9{left:12%;bottom:19%;animation-delay:1.6s}
.fp-assoc-star-10{left:30%;bottom:11%;animation-delay:.5s}
.fp-assoc-star-11{right:20%;bottom:17%;animation-delay:2.2s}
.fp-assoc-star-12{right:10%;bottom:9%;animation-delay:.9s}

@keyframes fpAssocHeartFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-10px,0)}
}

@keyframes fpAssocHeartBeat{
  0%,100%{opacity:.26;transform:scale(1)}
  15%{opacity:.52;transform:scale(1.18)}
  28%{opacity:.32;transform:scale(1)}
  42%{opacity:.60;transform:scale(1.24)}
  60%{opacity:.34;transform:scale(1)}
}

@keyframes fpAssocStarTwinkle{
  0%,100%{opacity:.18;transform:scale(.85)}
  50%{opacity:1;transform:scale(1.45)}
}

@keyframes fpAssocVideoFloat{
  0%,100%{transform:translateY(-6px)}
  50%{transform:translateY(8px)}
}

@media (max-width: 991.98px){
  .fp-assoc-v4-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .fp-assoc-v4-content{
    max-width:100%;
    text-align:center;
    margin:0 auto;
  }

  .fp-assoc-v4-title{
    font-size:clamp(1.9rem,8vw,2.8rem);
  }

  .fp-assoc-v4-actions{
    justify-content:center;
  }

  .fp-assoc-v4-video-card{
    padding:14px;
    border-radius:24px;
    margin:0;
  }
}

@media (max-width: 767.98px){
  .fp-assoc-v4-text{
    font-size:.96rem;
    line-height:1.85;
  }

  .fp-assoc-v4-btn{
    min-height:40px;
    padding:8px 16px;
    font-size:.84rem;
  }

  .fp-assoc-heart-3,
  .fp-assoc-heart-6{
    display:none;
  }
}

.fp-service-wrap.is-centered{
  overflow-x: hidden;
}

.fp-service-wrap.is-centered .fp-service-track{
  width: 100%;
  display: flex;
  justify-content: center;
}

@media (max-width: 767.98px){
  .fp-service-wrap{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .fp-service-wrap .fp-service-track{
    width: max-content;
    min-width: 100%;
  }

  .fp-service-wrap.is-centered .fp-service-track{
    width: 100%;
    justify-content: center;
  }
}

.fp-menu-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.fp-menu-lang{
  flex-shrink:0;
  margin-left:auto;
}

.fp-menu-lang .form-select{
  min-width:180px;
  border-radius:999px;
  font-weight:700;
}

@media (max-width: 767.98px){
  .fp-menu-head{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .fp-menu-lang{
    margin-left:0;
  }
}

.fp-menu-head{
  display:flex;
  justify-content:center;
  gap:20px;
}

.fp-menu-lang{
  flex-shrink:0;
  margin-left:auto;
  position:relative;
}

.fp-lang-dd{
  position:relative;
}

.fp-lang-dd summary{
  list-style:none;
}

.fp-lang-dd summary::-webkit-details-marker{
  display:none;
}

.fp-lang-trigger{
  min-width:230px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 16px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,24,39,.09);
  box-shadow:0 14px 34px rgba(17,24,39,.06);
  cursor:pointer;
  transition:.18s ease;
}

.fp-lang-trigger:hover{
  border-color:rgba(198,40,40,.18);
  box-shadow:0 18px 38px rgba(198,40,40,.10);
}

.fp-lang-dd[open] .fp-lang-trigger{
  border-color:rgba(198,40,40,.22);
  box-shadow:0 20px 42px rgba(198,40,40,.12);
}

.fp-lang-trigger-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.fp-lang-trigger-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--fp-red-soft);
  color:var(--fp-red);
  font-size:1.05rem;
  flex-shrink:0;
}

.fp-lang-trigger-text{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.fp-lang-trigger-text strong{
  color:var(--fp-ink);
  font-size:.92rem;
  line-height:1.1;
  font-weight:900;
}

.fp-lang-trigger-text small{
  color:var(--fp-muted);
  font-size:.75rem;
  margin-top:2px;
}

.fp-lang-trigger-arrow{
  color:#9CA3AF;
  transition:transform .18s ease;
}

.fp-lang-dd[open] .fp-lang-trigger-arrow{
  transform:rotate(180deg);
}

.fp-lang-panel{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(320px, 90vw);
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 26px 70px rgba(17,24,39,.14);
  z-index:40;
}

.fp-lang-panel-head{
  margin-bottom:10px;
}

.fp-lang-panel-head strong{
  display:block;
  color:var(--fp-ink);
  font-size:.92rem;
  font-weight:900;
}

.fp-lang-panel-head span{
  display:block;
  margin-top:2px;
  color:var(--fp-muted);
  font-size:.75rem;
}

.fp-lang-list{
  display:grid;
  gap:10px;
}

.fp-lang-option{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 12px;
  border-radius:16px;
  background:#FAFAFA;
  border:1px solid #ECECEC;
  color:var(--fp-ink);
  text-decoration:none;
  transition:.16s ease;
}

.fp-lang-option:hover{
  background:#FFF8F8;
  border-color:rgba(198,40,40,.16);
  color:var(--fp-red);
  transform:translateY(-1px);
}

.fp-lang-option.is-active{
  background:var(--fp-red-soft);
  border-color:rgba(198,40,40,.18);
}

.fp-lang-option-left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.fp-lang-flag{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid #ECECEC;
  font-size:1.1rem;
  flex-shrink:0;
}

.fp-lang-meta{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.fp-lang-meta strong{
  color:var(--fp-ink);
  font-size:.9rem;
  line-height:1.1;
  font-weight:850;
}

.fp-lang-meta small{
  color:var(--fp-muted);
  font-size:.73rem;
  margin-top:3px;
}

.fp-lang-check{
  width:28px;
  height:28px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--fp-red);
  color:#fff;
  flex-shrink:0;
  font-size:.9rem;
}

@media (max-width: 767.98px){
  .fp-menu-head{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .fp-menu-lang{
    width:100%;
    margin-left:0;
  }

  .fp-lang-trigger{
    width:100%;
    min-width:0;
  }

  .fp-lang-panel{
    left:0;
    right:auto;
    width:100%;
  }
}

.fp-menu-sec{
  position:relative;
}

.fp-menu-lang-float{
  position:absolute;
  top:18px;
  right:max(24px, calc((100vw - 1240px) / 2 + 24px));
  z-index:8;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 18px 40px rgba(17,24,39,.10);
  backdrop-filter:blur(12px);
}

.fp-menu-lang-btn{
  min-width:48px;
  height:44px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--fp-ink);
  font-weight:900;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  cursor:pointer;
  transition:.18s ease;
}

.fp-menu-lang-btn:hover{
  background:var(--fp-red-soft);
  color:var(--fp-red);
}

.fp-menu-lang-btn.is-active{
  background:var(--fp-red);
  color:#fff;
  box-shadow:0 12px 24px rgba(198,40,40,.20);
}

.fp-menu-lang-btn-flag{
  font-size:1rem;
  line-height:1;
}

.fp-menu-lang-btn-code{
  font-size:.78rem;
  letter-spacing:.04em;
}

.fp-i18n-switch .fp-i18n-text{
  display:none;
}

.fp-i18n-switch .fp-i18n-text.is-on{
  display:inline;
}

div.fp-i18n-switch .fp-i18n-text.is-on{
  display:block;
}

@media (max-width: 991.98px){
  .fp-menu-lang-float{
    position:static;
    justify-content:center;
    margin:0 auto 18px;
    width:max-content;
    max-width:calc(100% - 48px);
  }
}

@media (max-width: 767.98px){
  .fp-menu-lang-float{
    flex-wrap:wrap;
    border-radius:22px;
  }

  .fp-menu-lang-btn{
    min-width:44px;
    height:42px;
    padding:0 10px;
  }
}


.fp-banner-slot{
  padding:22px 0;
}

.fp-banner-glow{
  position:relative;
  padding:3px;
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(135deg,#7a0d0d,#c62828,#ff6a00,#ff8c00,#1a1a1a,#000,#c62828);
  background-size:300% 300%;
  animation:fpBannerBorderSpin 8s linear infinite;
  box-shadow:0 18px 44px rgba(17,24,39,.12);
  text-decoration:none;
display:block;
}

.fp-banner-glow::before{
  content:"";
  position:absolute;
  inset:3px;
  border-radius:25px;
  background:#fff;
  z-index:0;
}

.fp-banner-img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  border-radius:24px;
}

@keyframes fpBannerBorderSpin{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}


.fp-card-img-wrap{
  position:relative;
}

.fp-card-distance{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  color:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.18);
}

.fp-card-distance.is-near{
  background:#16a34a;
}

.fp-card-distance.is-mid{
  background:#f59e0b;
}

.fp-menu-image-cta-wrap{
  margin-top:24px;
  text-align:center;
}

.fp-menu-image-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  font-size:.95rem;
  color:#fff;
  background:linear-gradient(135deg,#b91c1c,#dc2626);
  box-shadow:0 14px 30px rgba(185,28,28,.18);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.fp-menu-image-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 34px rgba(185,28,28,.24);
  color:#fff;
  opacity:1;
}

.fp-menu-image-pages{
  margin-top:10px;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}

.fp-menu-image-pages a{
  font-size:.82rem;
  color:var(--fp-muted);
  text-decoration:none;
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid var(--fp-line);
}

.fp-menu-image-pages a:hover{
  color:var(--fp-red);
}

.h-row{display:flex;padding:8px 0;font-size:.92rem;border-bottom:1px solid rgba(17,24,39,.06)}
.h-day{width:105px;font-weight:850;color:var(--fp-ink);flex-shrink:0}
.h-today .h-day{color:var(--fp-red)}
.h-times{color:var(--fp-muted)}
.fp-contact-card{background:#fff;border:1px solid var(--fp-line);border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(17,24,39,.055)}
.clink{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(17,24,39,.06);text-decoration:none;color:#374151}

.fp-claim-box{
  margin-top:16px;
  background:linear-gradient(135deg,rgba(198,40,40,.06),#fff);
  border:1px solid rgba(198,40,40,.14);
  border-radius:24px;
  padding:24px;
  box-shadow:0 16px 40px rgba(17,24,39,.055);
}

.fp-claim-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.fp-claim-icon{
  width:44px;
  height:44px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:var(--fp-red-soft);
  color:var(--fp-red);
  font-size:20px;
  flex-shrink:0;
}

.fp-claim-box h3{
  margin:0;
  font-family:var(--font-t);
  font-size:1.25rem;
  font-weight:900;
  color:var(--fp-ink);
}

.fp-claim-box p{
  margin:0 0 16px;
  color:var(--fp-muted);
  line-height:1.7;
  font-size:.95rem;
}

.fp-claim-cta{
  width:100%;
  justify-content:center;
}


.fp-about-split{
  align-items:center;
}

.fp-about-media-col{
  position:relative;
  display:flex;
  justify-content:center;
}

.fp-about-side-img,
.fp-about-side-placeholder{
  width:100%;
  border-radius:28px;
  border:1px solid rgba(17,24,39,.08);
  background:#fff;
  box-shadow:0 24px 60px rgba(17,24,39,.16);
  animation:fpAboutFloatSide 5s ease-in-out infinite;
}

.fp-about-side-img{
  display:block;
}

.fp-about-side-placeholder{
  aspect-ratio:4 / 5;
  display:grid;
  place-items:center;
  font-size:4rem;
  color:#98A2B3;
  background:linear-gradient(135deg,#fff,var(--fp-soft));
}

@keyframes fpAboutFloatSide{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-14px);
  }
}



@media (max-width: 991.98px){

  .fp-about-media-col{
    margin-bottom:4px;
  }
}

.fp-btn-shine{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}

.fp-btn-shine::after{
  content:"";
  position:absolute;
  top:-20%;
  left:-35%;
  width:32%;
  height:140%;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.14) 30%,
    rgba(255,255,255,.75) 50%,
    rgba(255,255,255,.14) 70%,
    rgba(255,255,255,0) 100%
  );
  transform:skewX(-22deg) translateX(-220%);
}

.fp-btn-shine:hover::after{
  animation:fpBtnShine .9s ease forwards;
}

@keyframes fpBtnShine{
  from{
    transform:skewX(-22deg) translateX(-220%);
  }
  to{
    transform:skewX(-22deg) translateX(520%);
  }
}

.fp-btn-shine.is-auto::after{
  animation:fpBtnShineLoop 2.8s ease-in-out infinite;
}

@keyframes fpBtnShineLoop{
  0%{
    transform:skewX(-22deg) translateX(-220%);
  }
  35%{
    transform:skewX(-22deg) translateX(520%);
  }
  100%{
    transform:skewX(-22deg) translateX(520%);
  }
}

.fp-about-content h2{
  font-family:var(--font-t);
  font-size:clamp(1.65rem,3vw,2.35rem);
  font-weight:900;
  letter-spacing:-.035em;
  margin:0 0 14px;
}

.fp-about-content p{
  font-size:1rem;
  line-height:1.85;
  color:#374151;
  white-space:pre-line;
  margin:0;
}

.rc-order-links{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e5e7eb;
}

.rc-order-links__title{
  font-weight:700;
  font-size:.98rem;
  margin-bottom:12px;
  color:#111827;
}

.rc-order-links__grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.rc-order-links__item{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:56px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e5e7eb;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  transition:.2s ease;
}

.rc-order-links__item:hover{
  transform:translateY(-2px);
  border-color:#d1d5db;
  box-shadow:0 10px 24px rgba(15,23,42,.10);
}

.rc-order-links__item img{
  max-width:30px;
  max-height:30px;
  object-fit:contain;
  display:block;
}

.fp-game-box{
  padding:24px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:24px;
  background:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.04);
}

.fp-countdown-display{
  font-size:clamp(2rem,4vw,3.5rem);
  font-weight:800;
  line-height:1;
  text-align:center;
  margin:20px 0;
}

.fp-countdown-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.fp-countdown-go,
.fp-countdown-stop{
  min-width:110px;
  min-height:110px;
  border-radius:999px;
  border:none;
  font-weight:800;
  font-size:1.1rem;
  transition:.2s ease;
}

.fp-countdown-go{
  background:#198754;
  color:#fff;
}

.fp-countdown-go:hover{
  transform:translateY(-1px);
}

.fp-countdown-stop{
  background:#dc3545;
  color:#fff;
}

.fp-countdown-stop:disabled,
.fp-countdown-go:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.fp-countdown-result{
  margin-top:18px;
}

.fp-about-media-col{
    position: relative;
}

.fp-visitors-badge{
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.28);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    color: #fff;
    max-width: 220px;
}

.fp-visitors-badge__dot{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #22c55e;
    flex: 0 0 10px;
    box-shadow: 0 0 0 6px rgba(34,197,94,.18);
}

.fp-visitors-badge__text{
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.fp-visitors-badge__text strong{
    font-size: 1rem;
    font-weight: 900;
    color: #fff;
}

.fp-visitors-badge__text small{
    font-size: .72rem;
    font-weight: 700;
    color: rgba(255,255,255,.92);
    text-transform: uppercase;
    letter-spacing: .03em;
}

@media (max-width: 767.98px){
    .fp-visitors-badge{
        top: 10px;
        left: 10px;
        padding: 8px 11px;
        border-radius: 16px;
        max-width: 180px;
    }

    .fp-visitors-badge__text strong{
        font-size: .92rem;
    }

    .fp-visitors-badge__text small{
        font-size: .66rem;
    }
}