:root{
    --cream:#F3ECDC; --cream-2:#EDE2CB; --cream-3:#F6EFDD;
    --brown:#3A2A1D; --brown-deep:#2B1E12; --brown-btn:#2E2013;
    --text-soft:#5A4632; --text-muted:#7A6448;
    --gold:#D9A13B; --gold-strong:#E8A61F; --gold-dark:#C98F1F;
    --kraft:#DCC9A4; --line:#C9B896;
    --serif:'Playfair Display',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{font-family:var(--sans);color:var(--brown);background:var(--cream);line-height:1.55}
  img{display:block;max-width:100%}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:1280px;margin:0 auto;padding:0 24px}
  .eyebrow{font-weight:600;font-size:12px;letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
  h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.18}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;border:0;font-family:var(--sans)}
 
  /* ============ HEADER ============ */
  .header{position:absolute;inset:0 0 auto 0;z-index:20;padding:22px 0}
  .header .wrap{display:flex;align-items:center;justify-content:space-between}
  .logo{font-family:var(--serif);font-size:20px;color:var(--cream-3);letter-spacing:.04em}
  .nav{display:flex;align-items:center;gap:34px}
  .nav a{color:var(--cream-3);opacity:.9;font-size:15px}
  .nav a:hover{opacity:1}
  .btn-nav{background:var(--gold);color:var(--brown-deep);font-weight:600;font-size:14px;padding:10px 22px;border-radius:20px}
 
  /* ============ HERO ============ */
  .hero{position:relative;color:var(--cream-3);overflow:hidden;background:var(--brown-deep)}
  .hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .hero-overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,11,4,.82) 35%,rgba(30,17,8,.45))}
  .hero-inner{position:relative;z-index:2;padding:150px 0 96px;max-width:660px}
  .hero h1{font-size:clamp(40px,5vw,72px);margin:22px 0 20px}
  .hero p.lead{font-size:17px;opacity:.9;max-width:560px}
  .hero .price-line{color:var(--gold);font-weight:500;font-size:16px;margin:22px 0 26px}
  .btn-primary{background:var(--gold);color:var(--brown-deep);font-weight:600;font-size:13px;letter-spacing:.12em;padding:18px 30px;border-radius:8px}
  .btn-primary:hover{background:var(--gold-strong)}
  .link-gift{display:inline-block;margin-left:26px;font-size:13px;color:var(--cream-3);opacity:.55}
  .link-gift:hover{opacity:.85}
  .trust{margin-top:26px;font-size:12px;opacity:.55}
 
  /* ============ AVANTAGES ============ */
  .avantages{padding:64px 0}
  .avantages .cols{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
  .avantages h2{font-size:38px;margin-bottom:14px}
  .av-sub{color:var(--text-muted);font-size:15px;margin-bottom:26px}
  .av-item{display:flex;gap:20px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
  .av-item:last-child{border-bottom:0}
  .av-item .ic{flex:0 0 64px;height:56px;display:flex;align-items:center;justify-content:center}
  .av-item .ic svg{width:56px;height:48px}
  .av-item h3{font-size:20px}
  .av-photo{border-radius:10px;overflow:hidden;aspect-ratio:600/610}
  .av-photo img{width:100%;height:100%;object-fit:cover}
 
  /* ============ FORMATS ============ */
  .formats{background:var(--cream-2);padding:96px 0;text-align:center}
  .formats h2{font-size:44px}
  .formats .sub{color:var(--text-muted);font-size:15px;margin:12px 0 56px}
  .cards{display:flex;gap:48px;justify-content:center;align-items:flex-start}
  .card{background:var(--kraft);border-radius:16px;width:520px;max-width:100%;overflow:visible;position:relative;text-align:center}
  .card-img{border-radius:16px 16px 0 0;overflow:hidden;height:200px}
  .card-img img{width:100%;height:100%;object-fit:cover}
  .card-body{padding:26px 36px 36px}
  .card h3{font-size:30px}
  .card .portions{font-weight:500;font-size:12px;letter-spacing:.08em;color:var(--text-muted);margin:6px 0 20px}
  .feats{text-align:left;margin:0 0 22px;list-style:none}
  .feats li{display:flex;gap:10px;font-size:13.5px;color:#4A3826;padding:5px 0}
  .feats .check{flex:0 0 18px;height:18px;border-radius:50%;background:var(--brown);color:var(--cream);font-size:10px;display:flex;align-items:center;justify-content:center;margin-top:2px}
  .toggle{display:inline-flex;border:1px solid #B9A47D;border-radius:22px;background:var(--cream-3);margin:4px 0 18px;overflow:hidden}
  .toggle span{padding:11px 40px;font-size:13px;font-weight:500;color:#4A3826}
  .toggle .on{background:var(--gold-strong);border-radius:22px;font-weight:600;color:var(--brown)}
  .price{font-family:var(--serif);font-size:40px;color:var(--brown-deep)}
  .price-month{font-size:14px;color:var(--text-muted);margin:4px 0 22px}
  .btn-dark{width:100%;background:var(--brown-btn);color:var(--cream);font-weight:600;font-size:15px;padding:16px;border-radius:8px}
  .btn-dark:hover{background:#4A3521}
  .card-note{font-size:12.5px;color:var(--text-soft);font-style:italic;margin-top:14px}
  .badge{position:absolute;top:-28px;right:-24px;width:104px;height:104px;border-radius:50%;background:var(--gold-strong);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);z-index:3}
  .badge b{font-size:10px;letter-spacing:.1em;font-weight:600}
  .badge span{font-family:var(--serif);font-size:17px}
  .note{margin-top:48px;font-size:13px;color:var(--text-soft)}
 
  /* ============ SAVOIR-FAIRE ============ */
  .savoir{padding:110px 0}
  .savoir .head{max-width:720px;margin:0 auto 56px;text-align:center}
  .savoir h2{font-size:44px;margin-bottom:24px}
  .savoir .head p{color:var(--text-soft);font-size:15.5px;margin-bottom:14px}
  .sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 40px}
  .sf-item .ph{border-radius:10px;overflow:hidden;aspect-ratio:616/520}
  .sf-item .ph img{width:100%;height:100%;object-fit:cover}
  .sf-item p{font-size:14px;color:var(--text-muted);margin-top:12px}
  .savoir-cta{text-align:center;margin-top:52px}
  .dots{display:none}
 
  /* ============ CADEAU ============ */
  .cadeau{background:var(--cream-2);padding:110px 0}
  .cadeau .cols{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;align-items:center}
  .cadeau h2{font-size:44px;margin-bottom:20px}
  .cadeau p.lead{color:var(--text-soft);font-size:15px;margin-bottom:14px}
  .gift-list{list-style:none;margin:22px 0 30px}
  .gift-list li{display:flex;gap:10px;padding:6px 0;font-size:14.5px;color:#4A3826}
  .gift-list .check{color:var(--gold-dark);font-weight:600}
  .btn-gold{background:var(--gold-strong);color:var(--brown-deep);font-weight:600;font-size:15px;padding:16px 32px;border-radius:8px}
  .btn-outline{border:1px solid var(--brown);color:var(--brown);font-weight:500;font-size:15px;padding:15px 32px;border-radius:8px;margin-left:18px;background:transparent}
  .cadeau-photo{border-radius:10px;overflow:hidden;aspect-ratio:520/480}
  .cadeau-photo img{width:100%;height:100%;object-fit:cover}
 
  /* ============ TEMOIGNAGES ============ */
  .temoignages{padding:110px 0;text-align:center}
  .temoignages h2{font-size:44px;margin-bottom:56px}
  .t-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;text-align:left}
  .quote-big{display:flex;gap:22px}
  .quote-big .qmark{font-family:var(--serif);font-size:150px;line-height:.9;color:#C8AE8C}
  .quote-big blockquote{font-family:var(--serif);font-size:30px;line-height:1.35}
  .stars{color:var(--gold-strong);letter-spacing:.25em;margin:16px 0 14px}
  .who{font-family:var(--serif);font-size:19px}
  .who em{display:block;font-size:14px;color:var(--text-muted);margin-top:2px}
  .review{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid var(--line)}
  .review:last-child{border-bottom:0;margin-bottom:0}
  .review blockquote{font-family:var(--serif);font-size:18px;margin:10px 0}
  .review .name{font-weight:500;font-size:14px}
  .review .name em{font-family:var(--serif);color:var(--text-muted);font-weight:400}
 
  /* ============ FAQ ============ */
  .faq{background:var(--cream-2);padding:110px 0}
  .faq h2{font-size:44px;text-align:center;margin-bottom:56px}
  .faq-list{max-width:1000px;margin:0 auto}
  .faq details{border-bottom:1px solid var(--line)}
  .faq details:last-child{border-bottom:0}
  .faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-family:var(--serif);font-size:21px;padding:26px 4px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary .plus{font-family:var(--serif);font-size:26px;color:var(--gold-dark);transition:transform .2s}
  .faq details[open] summary .plus{transform:rotate(45deg)}
  .faq .answer{padding:0 4px 26px;font-size:14.5px;color:var(--text-soft);max-width:760px}
  .faq .answer p{margin-bottom:10px}
  .faq .answer p:last-child{margin-bottom:0}
 
  /* ============ FOOTER ============ */
  .footer{background:var(--brown-deep);color:var(--cream-3);padding:90px 0 50px}
  .footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px}
  .footer .brand .logo{font-size:22px}
  .footer .brand .by{font-family:var(--serif);font-style:italic;color:#C8AE8C;font-size:14px;margin:6px 0 20px}
  .footer .brand p{font-size:14px;opacity:.7;max-width:240px}
  .footer h4{font-size:12px;letter-spacing:.16em;color:var(--gold-dark);font-weight:600;margin-bottom:16px}
  .footer ul{list-style:none}
  .footer ul li{margin-bottom:12px}
  .footer ul a{font-size:14px;opacity:.8}
  .footer ul a:hover{opacity:1}
  .footer .sep{border:0;border-top:1px solid #4A3826;margin:48px 0 28px}
  .footer .bottom{display:flex;justify-content:space-between;font-size:13px;opacity:.6;flex-wrap:wrap;gap:12px}
 
  /* ============ BARRE CTA MOBILE ============ */
  .sticky-bar{display:none}
 
  @media (max-width:860px){
    body{padding-bottom:84px}
    .wrap{padding:0 20px}
    .header{position:sticky;top:0;background:var(--brown-deep);padding:12px 0}
    .nav a{display:none}
    .nav .btn-nav{display:inline-flex}
    .logo{font-size:16px}
    .hero-inner{padding:56px 0 60px}
    .hero h1{font-size:40px}
    .hero p.lead{font-size:15px}
    .btn-primary{width:100%;font-size:14px}
    .link-gift{display:block;margin:18px 0 0;text-align:center}
    .trust{text-align:center;margin-top:18px}
    .avantages{padding:36px 0}
    .avantages .cols{display:block}
    .avantages h2{font-size:24px;text-align:center;margin-bottom:8px}
    .av-sub{text-align:center;margin-bottom:18px}
    .av-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .av-item{background:var(--cream-3);border-radius:8px;border-bottom:0;padding:12px;gap:10px}
    .av-item .ic{flex:0 0 36px;height:32px}
    .av-item .ic svg{width:36px;height:30px}
    .av-item h3{font-size:12.5px;font-family:var(--sans);font-weight:500;line-height:1.3}
    .av-photo{display:none}
    .formats{padding:48px 0}
    .formats h2{font-size:30px}
    .formats .sub{margin-bottom:32px}
    .cards{flex-direction:column;gap:32px;align-items:stretch}
    .card{width:100%}
    .card-750{order:-1}
    .badge{top:-20px;right:-6px;width:84px;height:84px}
    .badge span{font-size:14px}
    .card-body{padding:22px 22px 26px}
    .card h3{font-size:24px}
    .toggle span{padding:11px 32px}
    .price{font-size:32px}
    .note{margin-top:32px;font-size:12px}
    .savoir{padding:48px 0}
    .savoir h2{font-size:28px}
    .savoir .head{margin-bottom:28px;text-align:left}
    .savoir .head p{font-size:14px}
    .sf-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -20px;padding:0 20px}
    .sf-grid::-webkit-scrollbar{display:none}
    .sf-item{flex:0 0 290px;scroll-snap-align:start;background:var(--cream-3);border-radius:12px;overflow:hidden}
    .sf-item .ph{border-radius:0;aspect-ratio:290/200}
    .sf-item p{padding:12px 14px 14px;margin:0;font-size:12.5px}
    .savoir-cta{margin-top:32px}
    .cadeau{padding:48px 0}
    .cadeau .cols{display:block}
    .cadeau h2{font-size:28px}
    .cadeau-photo{margin-bottom:22px;aspect-ratio:342/190}
    .cadeau .cols > div:first-child{display:contents}
    .btn-gold{display:block;width:100%;text-align:center}
    .btn-outline{display:none}
    .temoignages{padding:48px 0}
    .temoignages h2{font-size:28px;margin-bottom:28px}
    .t-row{display:block}
    .quote-big{display:block;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--line)}
    .quote-big .qmark{display:none}
    .quote-big blockquote{font-size:20px}
    .faq{padding:48px 0}
    .faq h2{font-size:28px;margin-bottom:24px}
    .faq summary{font-size:16px;padding:18px 4px}
    .footer{padding:44px 0 32px}
    .footer .cols{grid-template-columns:1fr;gap:28px}
    .footer .bottom{flex-direction:column}
    .sticky-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--cream-3);box-shadow:0 -4px 12px rgba(26,15,6,.25);padding:14px 16px;align-items:center;justify-content:space-between;gap:12px}
    .sticky-bar .p{font-family:var(--serif);font-size:18px;color:var(--brown-deep)}
    .sticky-bar .s{font-size:11px;color:var(--text-muted)}
    .sticky-bar .btn-dark{width:auto;padding:14px 24px;font-size:14px;border-radius:8px}
  }



/* ============================================================================
   Modale « Ajout au panier » — habillée pour Swiss Cheese Club
   1) Base fonctionnelle (structure, animations, responsive) extraite du thème
   2) Couche d'habillage Swiss Cheese Club (voir bandeau plus bas)
   ============================================================================ */

/* ===================== 1. BASE FONCTIONNELLE ===================== */

.row {
  box-sizing: border-box;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  margin-right: calc(calc(16px * 0.5) * -1);
  margin-left: calc(calc(16px * 0.5) * -1); }

.col-xl-4,
.col-xl-8 {
  box-sizing: border-box;
  flex: 0 0 auto;
  flex-basis: 100%;
  padding-right: calc(16px * 0.5);
  padding-left: calc(16px * 0.5);
  max-width: 100%; }

@media all and (min-width: 1200px) {
  .col-xl-4,
.col-xl-8 {
    box-sizing: border-box;
    flex: 0 0 auto;
    padding-right: calc(16px * 0.5);
    padding-left: calc(16px * 0.5); }
  .col-xl-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%; }
  .col-xl-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%; } }

.icon {
  display: block;
  width: 24px;
  height: 24px;
  padding: 2px; }

.heading {
  margin: 0 0 0.5em 0;
  font-family: Urbani, sans-serif;
  font-weight: 900;
  line-height: 1;
  color: #183446;
  text-transform: none; }
  .heading--page {
    margin: 16px 0;
    font-size: 30px;
    text-transform: none; }

.label {
  display: block;
  margin: 0 0 8px 8px;
  font-size: 16px;
  color: #183446;
  font-family: Urbani, sans-serif;
  font-weight: bold;
  line-height: 1.5;
  transition: none; }

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  height: 38px;
  min-width: 48px;
  line-height: 1.1;
  padding: 0 16px;
  border: none;
  border-radius: 100px;
  outline: none;
  background: #0095aa;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 14px;
  color: #fff;
  transition: all 0.3s ease-in-out;
  font-weight: normal;
  text-transform: uppercase; }
  .button:hover,
.button:focus {
    background: #00252b;
    border-color: none;
    color: #fff; }
  @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .button {
      align-items: center; } }
  .button--link {
    align-items: center;
    text-decoration: none; }
    .button--link:hover,
.button--link:focus {
      text-decoration: none;
      color: #fff; }
  .button--icon {
    align-items: center;
    padding: 0;
    border: 3px solid #0095aa;
    background: #0095aa; }
    .button--icon:hover,
.button--icon:focus {
      border-color: #00252b;
      background: #00252b; }
      .button--icon:hover .button__icon,
.button--icon:hover .icon,
.button--icon:focus .button__icon,
.button--icon:focus .icon {
        fill: #fff; }
  .button--fluid {
    width: 100%; }
  .button__icon {
    width: 10px;
    height: 10px;
    fill: #fff;
    transition: all 0.3s ease-in-out; }
  .button__icon-text {
    width: 16px;
    height: 16px;
    margin-left: 16px;
    fill: #fff; }

.price {
  text-align: center;
  margin: 0 auto; }
  .modal__close-button {
    position: absolute;
    top: 16px;
    right: 16px;
    border: none;
    background-color: #000;
    height: 32px;
    min-width: 32px; }
    .modal__close-button-icon {
      fill: #fff;
      width: 14px;
      height: 14px; }
    .modal__close-button:hover {
      background-color: #0095aa; }

@media all and (min-width: 1200px) {
  .mgk-adcpopup-modal.modal-popup.modal-slide._show .modal-inner-wrap {
    transform: translateY(50%); } }

.mgk-adcpopup-modal.modal-popup .modal__close-button {
  top: 7px;
  right: 7px; }
  @media all and (min-width: 768px) {
    .mgk-adcpopup-modal.modal-popup .modal__close-button {
      top: 16px;
      right: 16px; } }

.mgk-adcpopup-modal.modal-popup .modal-header {
  height: 0;
  padding: 0;
  overflow: hidden; }

.mgk-adcpopup-modal.modal-popup .modal-content {
  padding: 0; }

.mgk-adcpopup-modal.modal-popup .product-items {
  list-style: none;
  padding: 0 0 0 16px; }

.mgk-adcpopup-modal.modal-popup .label,
.mgk-adcpopup-modal.modal-popup .values {
  display: inline; }

.adcpopup-content {
  border-bottom: 1px solid #999;
  padding: 30px 10px 0; }
  @media all and (min-width: 768px) {
    .adcpopup-content {
      padding: 30px; } }
  @media all and (min-width: 1200px) {
    .adcpopup-content {
      border-bottom: 0;
      border-right: 1px solid #999; } }
  .adcpopup-content__title {
    font-family: Urbani, sans-serif;
    font-size: 18px;
    margin-bottom: 32px;
    color: #183446; }
  .adcpopup-content__title-icon {
    float: left;
    margin-right: 8px;
    fill: #19c29c;
    padding: 1px; }
  .adcpopup-content .adcpopup-content__title {
    margin-right: 30px;
    font-weight: 600; }
    @media all and (min-width: 768px) {
      .adcpopup-content .adcpopup-content__title {
        margin-right: 0; } }

.adcpopup-summary {
  padding: 0; }
  .adcpopup-summary .shopping-actions {
    padding: 10px 30px;
    max-width: 290px;
    margin-left: auto;
    margin-right: auto; }
    @media all and (min-width: 768px) {
      .adcpopup-summary .shopping-actions {
        padding: 30px; } }
    .adcpopup-summary .shopping-actions .button + .button {
      margin-top: 10px; }
      @media all and (min-width: 768px) {
        .adcpopup-summary .shopping-actions .button + .button {
          margin-top: 20px; } }
    .adcpopup-summary .shopping-actions .button {
      position: relative; }
      .adcpopup-summary .shopping-actions .button .button__icon-text {
        position: absolute;
        right: 10px;
        width: 14px;
        top: 50%;
        margin-top: -8px; }
  .adcpopup-summary .content-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between; }
  .adcpopup-summary .shopping-cart {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between; }
  .adcpopup-summary .summary-item {
    padding: 10px 30px;
    color: #183446;
    font-size: 14px; }
    .adcpopup-summary .summary-item.visible-xl {
      display: none; }
      @media all and (min-width: 1200px) {
        .adcpopup-summary .summary-item.visible-xl {
          display: block; } }
    .adcpopup-summary .summary-item.cart-qty-label {
      font-size: 17px; }
    .adcpopup-summary .summary-item:last-of-type {
      border-bottom: 1px solid #999; }
      @media all and (min-width: 1200px) {
        .adcpopup-summary .summary-item:last-of-type {
          border-top: 1px solid #999; } }
    .adcpopup-summary .summary-item .label {
      margin: 0;
      font-size: 14px;
      font-weight: 900; }
    .adcpopup-summary .summary-item .values.right {
      font-family: Urbani, sans-serif;
      font-weight: bold;
      font-size: 16px; }
  .adcpopup-summary .summary-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin-top: 20px; }

.mgk-adcpopup-block {
  margin: 0; }

.modal-popup.modal-slide {
  z-index: 90000 !important; }
  @media (min-width: 992px) { }

.mgk-adcpopup-block .summary-item .values .price {
  font-weight: 900;
  font-size: 22px;
  font-family: Urbani, sans-serif; }

.mgk-adcpopup-block .cart-qty-label {
  padding-top: 0;
  text-align: center; }

.mgk-adcpopup-block .right {
  float: right; }

.modal-popup,
.modal-slide {
  bottom: 0;
  left: 0;
  min-width: 0;
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden; }
  .modal-popup._show,
.modal-slide._show {
    visibility: visible; }
    .modal-popup._show .modal-inner-wrap,
.modal-slide._show .modal-inner-wrap {
      transform: translate(0, 0); }
  .modal-popup .modal-inner-wrap,
.modal-slide .modal-inner-wrap {
    background-color: #fff;
    box-shadow: 0 0 12px 2px rgba(0, 0, 0, 0.35);
    opacity: 1;
    pointer-events: auto; }
    .modal-popup .modal-inner-wrap .modal__close-button-icon,
.modal-slide .modal-inner-wrap .modal__close-button-icon {
      fill: #fff; }

.modal-slide {
  left: 0;
  z-index: 900; }
  .modal-slide._show .modal-inner-wrap {
    transform: translateX(0); }
  .modal-slide .modal-inner-wrap {
    height: 100%;
    overflow-y: auto;
    position: static;
    transform: translateX(100%);
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out;
    width: auto; }
  .modal-slide .modal-content,
.modal-slide .modal-header {
    padding: 0 41px 41px; }
  .modal-slide .modal-header {
    padding-bottom: 33px;
    padding-top: 33px; }

.modal-popup {
  z-index: 1001;
  left: 0;
  overflow-y: auto; }
  .modal-popup.modal-slide {
    left: 0;
    z-index: 900; }
    .modal-popup.modal-slide._show .modal-inner-wrap {
      transform: translateX(0); }
    .modal-popup.modal-slide .modal-inner-wrap {
      height: 100%;
      overflow-y: auto;
      position: static;
      transform: translateX(100%);
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out;
      width: auto; }
    .modal-popup.modal-slide .modal-inner-wrap {
      margin: 0;
      max-height: none; }
    @media all and (min-width: 768px) {
      .modal-popup.modal-slide {
        z-index: 1001;
        left: 0;
        overflow-y: auto; }
        .modal-popup.modal-slide._show .modal-inner-wrap {
          transform: translateY(0); }
        .modal-popup.modal-slide .modal-inner-wrap {
          margin: 80px auto;
          width: 75%;
          display: flex;
          flex-direction: column;
          box-sizing: border-box;
          height: auto;
          left: 0;
          position: absolute;
          right: 0;
          transform: translateY(-200%);
          transition-duration: 0.2s;
          transition-timing-function: ease; } }
  .modal-popup._show .modal-inner-wrap {
    transform: translateY(0); }
  .modal-popup .modal-inner-wrap {
    margin: 80px auto;
    width: 75%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    height: auto;
    left: 0;
    position: absolute;
    right: 0;
    transform: translateY(-200%);
    transition-duration: 0.2s;
    transition-timing-function: ease; }
  .modal-popup .modal-content,
.modal-popup .modal-header {
    padding-left: 15px;
    padding-right: 15px; }
    @media all and (min-width: 768px) {
      .modal-popup .modal-content,
.modal-popup .modal-header {
        padding-left: 30px;
        padding-right: 30px; } }
  .modal-popup .modal-header {
    flex-grow: 0;
    flex-shrink: 0; }
  .modal-popup .modal-header {
    padding-bottom: 12px;
    padding-top: 42px; }

.modal-popup.modal-slide .modal-inner-wrap[class] {
  background-color: #fff; }

.modal-popup .heading--page {
  margin-top: 0; }


/* ============================================================================
   Swiss Cheese Club — Design « cartes d'abonnement » appliqué à la grille
   produits Magento (catalog-grid). A charger via le theme (ou un <link>).
   Selecteurs prefixes #html-body pour battre la specificite du theme.
   ============================================================================ */
/* ---- Disposition : cartes cote a cote, centrees ---- */
#html-body .pagebuilder-column-line{align-items:flex-start;gap:40px}
#html-body [data-content-type="products"] .products.catalog-grid{
  display:flex;flex-wrap:wrap;gap:40px;justify-content:center;align-items:flex-start;
  margin:0;padding:0;list-style:none;
}
 
/* ---- La carte ---- */
#html-body .catalog-grid-item{
  background:var(--kraft);
  border-radius:16px;
  width:520px;max-width:100%;
  margin:0 auto;
  text-align:center;
  position:relative;
  overflow:visible;
  box-shadow:0 12px 34px rgba(26,15,6,.10);
  font-family:var(--sans);
  color:#4A3826;
}
 
/* ---- Image ---- */
#html-body .catalog-grid-item__image-wrapper{border-radius:16px 16px 0 0;overflow:hidden;height:210px}
#html-body .catalog-grid-item__image-wrapper .lazyload-wrapper{height:100%}
#html-body .catalog-grid-item__image{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
#html-body .lien-preview-container{display:none}
 
/* ---- Corps ---- */
#html-body .overlay-container{padding:26px 34px 34px}
#html-body .overlay__header{margin:0}
#html-body .age-container,
#html-body .overlay__subtitle{display:none}
#html-body .overlay__title{
  font-family:var(--serif);font-weight:400;line-height:1.2;
  font-size:26px;color:var(--brown-deep);margin:0 0 16px;
}
 
/* ---- Lignes d'infos (frequence + livraison) facon "features" ---- */
#html-body .catalog-grid-item__infos-frequency,
#html-body .offer__shipping{
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13.5px;color:#4A3826;margin:6px 0;font-weight:500;
}
#html-body .catalog-grid-item__infos-frequency-icon,
#html-body .offer__shipping-icon{width:18px;height:18px;object-fit:contain}
 
/* ---- Toggle de duree ---- */
#html-body .overlay__actions{margin-top:20px}
#html-body .duration-buttons-label{
  font-weight:600;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-muted);margin:0 0 10px;
}
#html-body .duration-buttons-container{
  display:inline-flex;border:1px solid #B9A47D;border-radius:22px;
  background:var(--cream-3);overflow:hidden;margin-bottom:6px;
}
#html-body .offer-duration-button{
  padding:10px 30px;font-size:13px;font-weight:500;color:#4A3826;
  background:transparent;border:0;cursor:pointer;font-family:var(--sans);
  border-radius:22px;transition:background .2s,color .2s;line-height:1.1;
}
#html-body .offer-duration-button.active{
  background:var(--gold-strong);color:var(--brown);font-weight:600;
}
 
/* ---- Prix ---- */
#html-body .overlay__price{margin:14px 0 18px}
#html-body .overlay__price .price-box,
#html-body .overlay__price .price,
#html-body .overlay__price .price__value,
#html-body .overlay__price .price-container{display:block}
#html-body .overlay__price .price-wrapper{
  font-family:var(--serif);font-weight:400;font-size:38px;color:var(--brown-deep);line-height:1;
}
 
/* ---- N'afficher que la formule active (6 mois / 1 an) ---- */
#html-body .tocart-form-landing-configurable-product{display:none}
#html-body .tocart-form-landing-configurable-product.active{display:block}
 
/* ---- Bouton principal (facon .btn-dark) ---- */
#html-body .button--pink.tocart{
  width:100%;background:var(--brown-btn);color:var(--cream);
  font-family:var(--sans);font-weight:600;font-size:15px;padding:16px;
  border:0;border-radius:8px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  transition:background .2s;
}
#html-body .button--pink.tocart:hover{background:#4A3521}
#html-body .button--pink.tocart .button__icon{width:18px;height:18px;flex:0 0 auto}
#html-body .button--pink.tocart .button__icon path{stroke:var(--cream)}
 
/* ---- Responsive ---- */
@media (max-width:860px){
  #html-body [data-content-type="products"] .products.catalog-grid{gap:28px}
  #html-body .catalog-grid-item{width:100%}
  #html-body .overlay-container{padding:22px 22px 26px}
  #html-body .overlay__title{font-size:22px}
  #html-body .overlay__price .price-wrapper{font-size:32px}
  #html-body .offer-duration-button{padding:10px 26px}
}

/* ============================================================================
   Swiss Cheese Club — Habillage de la modale « Ajout au panier » (avec articles)
   A charger via le theme (ou un <link>). Selecteurs prefixes #html-body.
   ============================================================================ */
:root{
  --cream:#F3ECDC; --cream-2:#EDE2CB; --cream-3:#F6EFDD;
  --brown:#3A2A1D; --brown-deep:#2B1E12; --brown-btn:#2E2013;
  --text-soft:#5A4632; --text-muted:#7A6448;
  --gold:#D9A13B; --gold-strong:#E8A61F; --gold-dark:#C98F1F;
  --kraft:#DCC9A4; --line:#C9B896;
  --serif:'Playfair Display',Georgia,serif; --sans:'Inter',system-ui,-apple-system,sans-serif;
}

/* ---- Overlay + panneau ---- */
#html-body .modals-overlay{background:rgba(30,17,8,.55)}
#html-body .mgk-adcpopup-modal .modal-inner-wrap{
  color:var(--brown);
  font-family:var(--sans);
  box-shadow:0 12px 44px rgba(26,15,6,.30);
}
#html-body .mgk-adcpopup-modal.modal-popup.modal-slide .modal-inner-wrap[class]{
  background-color:var(--cream-3);
}

/* ---- Bouton fermer ---- */
#html-body .mgk-adcpopup-modal .modal__close-button{background-color:transparent;border-radius:50%}
#html-body .mgk-adcpopup-modal .modal__close-button:hover{background-color:var(--gold-strong)}
#html-body .mgk-adcpopup-modal .modal-inner-wrap .modal__close-button-icon{fill:var(--brown)}

/* ---- Titre de page (masque en adcpopup, stylé par coherence) ---- */
#html-body .mgk-adcpopup-modal .heading--page{font-family:var(--serif);font-weight:400;color:var(--brown-deep)}

/* ---- Confirmation « produit ajoute » ---- */
#html-body .mgk-adcpopup-modal .adcpopup-content__title{
  font-family:var(--sans);color:var(--brown-deep);font-weight:600;
}
#html-body .mgk-adcpopup-modal .adcpopup-content__title-icon{fill:var(--gold-dark)}
#html-body .mgk-adcpopup-modal .adcpopup-content{border-color:var(--line)}

/* ---- Liste des articles ---- */
#html-body .mgk-adcpopup-modal .content-cart{max-height:52vh;overflow-y:auto}
#html-body .mgk-adcpopup-modal .product-items{list-style:none;margin:0;padding:0}
#html-body .mgk-adcpopup-modal .product-items > .product-item{
  display:flex;gap:16px;align-items:flex-start;
  padding:18px 0;border-bottom:1px solid var(--line);
}
#html-body .mgk-adcpopup-modal .product-items > .product-item:first-child{padding-top:4px}
#html-body .mgk-adcpopup-modal .product-items > .product-item:last-child{border-bottom:0}

/* image de l'article */
#html-body .mgk-adcpopup-modal .product-item-photo,
#html-body .mgk-adcpopup-modal .offer__image-wrapper-popup{flex:0 0 auto;line-height:0}
#html-body .mgk-adcpopup-modal .offer__image{
  width:96px;height:96px;object-fit:contain;border-radius:10px;background:var(--cream);display:block;padding:6px;
}

/* details de l'article */
#html-body .mgk-adcpopup-modal .product-item-details{flex:1 1 auto;min-width:0;text-align:left}
#html-body .mgk-adcpopup-modal .product-item-name{display:block;margin:0 0 6px}
#html-body .mgk-adcpopup-modal .product-item-name a{
  font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.25;
  color:var(--brown-deep);text-decoration:none;
}
#html-body .mgk-adcpopup-modal .product-item-name a:hover{color:var(--gold-dark)}
#html-body .mgk-adcpopup-modal .product-item-sku{font-size:12px;color:var(--text-muted);margin:0 0 4px}
#html-body .mgk-adcpopup-modal .product-item-sku .label{font-weight:600;margin:0 4px 0 0;font-size:12px;color:var(--text-muted)}
#html-body .mgk-adcpopup-modal .offer__title{
  font-family:var(--sans);font-weight:400;font-size:13px;color:var(--text-soft);margin:2px 0 6px;line-height:1.35;
}
#html-body .mgk-adcpopup-modal .details-qty{font-size:13px;color:var(--text-soft);margin:0 0 6px}
#html-body .mgk-adcpopup-modal .details-qty .label{font-weight:600;color:var(--text-soft)}

/* prix de l'article */
#html-body .mgk-adcpopup-modal .product-item-pricing .price,
#html-body .mgk-adcpopup-modal .product__price .price{display:block}
#html-body .mgk-adcpopup-modal .product-item-pricing ins,
#html-body .mgk-adcpopup-modal .product__price ins{
  text-decoration:none;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--brown-deep);
}
#html-body .mgk-adcpopup-modal .price__value--old{
  display:block;text-decoration:none;font-style:italic;font-size:12px;color:var(--text-muted);margin-top:2px;
}

/* ---- Colonne recapitulatif ---- */
#html-body .mgk-adcpopup-modal .adcpopup-summary{background:var(--cream-2)}
#html-body .mgk-adcpopup-modal .adcpopup-summary .summary-title{
  font-family:var(--serif);font-weight:400;color:var(--brown-deep);
}
#html-body .mgk-adcpopup-modal .adcpopup-summary .summary-item{color:var(--text-soft)}
#html-body .mgk-adcpopup-modal .adcpopup-summary .summary-item:last-of-type{border-color:var(--line)}
#html-body .mgk-adcpopup-modal .adcpopup-summary .summary-item .label{color:var(--brown-deep)}
#html-body .mgk-adcpopup-modal .adcpopup-summary .summary-item .values.right{
  font-family:var(--serif);font-weight:500;color:var(--brown-deep);
}
#html-body .mgk-adcpopup-modal .mgk-adcpopup-block .summary-item .values .price{
  font-family:var(--serif);font-weight:500;color:var(--brown-deep);
}

/* ---- Boutons d'action ---- */
#html-body .mgk-adcpopup-modal .shopping-actions .button{
  height:auto;min-height:52px;padding:15px 22px;border:1px solid transparent;border-radius:8px;
  font-family:var(--sans);font-weight:600;font-size:15px;letter-spacing:.02em;text-transform:none;
}
#html-body .mgk-adcpopup-modal .shopping-actions .button__icon,
#html-body .mgk-adcpopup-modal .shopping-actions .button .button__icon-text{fill:currentColor}
/* Primaire : « Voir mon panier » (dore) */
#html-body .mgk-adcpopup-modal .shopping-actions .button--icon{
  background:var(--gold-strong);border-color:var(--gold-strong);color:var(--brown-deep);
}
#html-body .mgk-adcpopup-modal .shopping-actions .button--icon:hover,
#html-body .mgk-adcpopup-modal .shopping-actions .button--icon:focus{
  background:var(--gold);border-color:var(--gold);color:var(--brown-deep);
}
/* Secondaire : « Continuer mes achats » (contour) */
#html-body .mgk-adcpopup-modal .shopping-actions .button:not(.button--icon){
  background:transparent;border:1px solid var(--brown);color:var(--brown);
}
#html-body .mgk-adcpopup-modal .shopping-actions .button:not(.button--icon):hover,
#html-body .mgk-adcpopup-modal .shopping-actions .button:not(.button--icon):focus{
  background:var(--brown);border-color:var(--brown);color:var(--cream);
}

/* ---- Mobile ---- */
@media (max-width:767px){
  #html-body .mgk-adcpopup-modal .offer__image{width:76px;height:76px}
  #html-body .mgk-adcpopup-modal .product-item-name a{font-size:16px}
}