/* LaVie Single Product layout - Nunito base */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@600;700&display=swap');

:root{
  --lavie-blue:#1882B1;
  --lavie-text:#063043;
}

body.single-product{overflow-x:hidden;}

.lavie-single-product{width:100%;}
/* Breadcrumbs */
.lavie-breadcrumbs{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:12px clamp(16px,5vw,80px) 8px; }
.lavie-bc-inner{ max-width:1280px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.lavie-bc-home{ display:inline-flex; width:20px; height:20px; align-items:center; justify-content:center; }
.lavie-bc-dot{ width:4px; height:4px; background:#8ACFEE; border-radius:50%; display:inline-block; }
.lavie-bc-link{ font-family:'Nunito',sans-serif !important; font-weight:700 !important; font-size:14px; line-height:20px; color:#1882B1; text-decoration:none; }
.lavie-bc-link:hover{ text-decoration:none; }
.lavie-bc-current{ font-family:'Nunito',sans-serif !important; font-weight:700 !important; font-size:14px; line-height:20px; color:rgba(6,48,67,0.6); }
@media (max-width:600px){ .lavie-breadcrumbs{ padding:10px 16px 6px; } }
.lavie-sp-inner{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  justify-content:center;
  gap:20px;
  padding:48px clamp(16px,5vw,80px) 0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw; /* full-bleed */
  background:linear-gradient(180deg, rgba(219,233,241,0) 0%, #DBE9F1 100%);
  border-radius:0; /* visual container */
  box-sizing:border-box;
}
/* On large screens (>1440px), constrain content width to match features section (1280px max-width) */
@media (min-width: 1440px) {
  .lavie-sp-inner {
    padding-left: calc((100vw - 1280px) / 2);
    padding-right: calc((100vw - 1280px) / 2);
  }
}

/* media column */
.lavie-sp-media{ display:flex; flex-direction:row; align-items:stretch; gap:16px; width:100%; max-width:776px; min-height:0; }

.lavie-single-product .lavie-sp-thumbs{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; width:88px; height:auto; max-height:none; overflow:visible; scrollbar-width:none; padding:4px 0; flex-shrink:0; }
.lavie-sp-thumbs::-webkit-scrollbar{ display:none; }
.lavie-single-product .lavie-thumb{ position:relative; display:flex; width:80px; height:80px; aspect-ratio:1/1; padding:0; border:2px solid #fff !important; border-radius:24px !important; background:#fff; cursor:pointer; align-items:center; justify-content:center; transition:box-shadow .2s ease; isolation:isolate; overflow:visible; box-sizing:border-box; flex-shrink:0; }
.lavie-single-product .lavie-thumb::after{ content:""; position:absolute; inset:2px; background:rgba(0,0,0,.2); border-radius:22px; z-index:1; opacity:1; transition:opacity .2s ease; pointer-events:none; }
.lavie-single-product .lavie-thumb.is-active::after{ opacity:0; }
.lavie-single-product .lavie-thumb:hover::after{ opacity:.1; }
.lavie-single-product .lavie-thumb img{ width:100%; height:100%; object-fit:cover; border-radius:20px; display:block; }
.lavie-single-product .lavie-thumb.is-active{ box-shadow:0 0 0 4px var(--lavie-blue) !important; }

.lavie-sp-main{ width: min(672px, 100%); height:auto; aspect-ratio:3 / 4; border-radius:40px; overflow:hidden; flex-grow:1; display:flex; align-items:stretch; }
.lavie-sp-main img{ width:100%; height:100%; object-fit:cover; display:block; flex-grow:1; }

/* summary column */
.lavie-sp-summary{ display:flex; flex-direction:column; gap:32px; width:100%; max-width:560px; }

.lavie-sp-header{ display:flex; flex-direction:column; gap:16px; padding:0 48px; }
.lavie-single-product .lavie-sp-title{ font-family:'Nunito',sans-serif !important; font-weight:700 !important; font-size:clamp(36px,6vw,64px); line-height:1; color:#063043 !important; margin:0; }
.lavie-sp-rating{ display:flex; align-items:center; gap:8px; color:#05124D; opacity:.6; padding-left:0; }
.lavie-star{ color:#FBBC05; font-size:20px; line-height:1; text-shadow:0 0 0 #E6AB00; }
.lavie-rating-text{ font-family:'Nunito',sans-serif; font-weight:700; font-size:16px; line-height:20px; }

.lavie-sp-attributes{ padding:0 48px; display:flex; flex-direction:column; gap:16px; }

/* purchase card */
.lavie-sp-purchase{ display:flex; flex-direction:column; gap:16px; align-items:center; padding:24px 48px; background:#fff; border-radius:40px; box-shadow:0 0 0 1px #C9E1EB inset; }
.lavie-sp-qty-price{ display:flex; align-items:flex-end; justify-content:center; gap:16px; width:100%; }
.lavie-sp-qty{ flex:0 0 auto; display:flex; flex-direction:column; gap:12px; align-items:center; }
.lavie-sp-price{ flex:1 1 auto; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; padding-bottom:0; transform: translateY(-12px); }
.lavie-sp-atc{ width:100%; }
.lavie-sp-payments{ display:flex; gap:12px; align-items:center; justify-content:center; padding:8px 0; }
.lavie-sp-payments img{ height:24px; width:auto; object-fit:contain; filter:none; }

/* cpb components already styled by inline CSS in functions.php, but adjust spacing here */
.cpb-attributes-container{ padding:0 0 0 0; }

/* Responsive */
@media (max-width: 1200px){
  .lavie-sp-inner{ flex-wrap:wrap; }
  .lavie-sp-media{ max-width:100%; }
}

@media (max-width: 900px){
  .lavie-sp-inner{ padding:32px 24px 0; }
  .lavie-sp-summary{ max-width:100%; }
  .lavie-sp-header{ padding:0; }
  .lavie-sp-attributes{ padding:0; }
  .lavie-sp-purchase{ padding:16px 24px; }
}

@media (max-width: 600px){
  .lavie-sp-media{ flex-direction:column; align-items:stretch; height:auto !important; scroll-margin-top:20px; }
  .lavie-single-product .lavie-sp-thumbs{ order:2; flex-direction:row; width:100%; height:auto; max-width:100%; max-height:none; justify-content:flex-start; overflow-x:auto; overflow-y:hidden; padding:4px; }
  .lavie-single-product .lavie-thumb{ width:72px; height:72px; }
  .lavie-single-product .lavie-thumb img{ width:100%; height:100%; border-radius:20px; }
  
  /* Comment translated to English. */
  .lavie-sp-main{ 
    width:100%; 
    height:50vh;
    min-height:320px;
    max-height:420px;
    aspect-ratio:auto; 
    flex-grow:0; 
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }
  
  .lavie-sp-main img{ 
    width:100%; 
    height:100%;
    object-fit:cover;
    border-radius:40px;
  }
  /* tighten qty+price row so its visual width is smaller than the button */
  .lavie-sp-qty-price{ gap:12px; }
  .lavie-sp-price{ transform: translateY(-6px); flex:0 0 auto; }
  
  /* Mobile price layout: sale price on top, regular price below */
  .lavie-sp-price .cpb-price{ display:flex; flex-direction:column; align-items:center; gap:4px; }
  .lavie-sp-price .cpb-price del{ order:1; font-size:16px; line-height:1; color:rgba(6,48,67,0.5); }
  .lavie-sp-price .cpb-price del .woocommerce-Price-amount{ font-size:16px !important; line-height:1 !important; }
  .lavie-sp-price .cpb-price ins{ order:2; font-size:24px; line-height:1; color:#063043; text-decoration:none; }
  .lavie-sp-price .cpb-price ins .woocommerce-Price-amount{ font-size:24px !important; line-height:1 !important; font-weight:700 !important; }
}

/* Features section */
.lavie-features{
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:40px clamp(16px,5vw,80px) 0;
  background:linear-gradient(180deg, #DBE9F1 0%, rgba(219,233,241,0) 100%);
}
.lavie-features-inner{ max-width:1280px; margin:0 auto; display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--sp-gap, 16px); align-items:stretch; }

/* Default: 4 blocks active - original proportions */
.lavie-card--about{ grid-column:span 2; }
.lavie-card--tech{ grid-column:span 1; }
.lavie-card--specs{ grid-column:span 1; }
.lavie-card--usage{ grid-column:span 2; }

/* 1 block active: full width */
.lavie-features-inner--count-1 .lavie-card{ grid-column:1 / -1; }

/* 2 blocks active: 50/50 split */
.lavie-features-inner--count-2{ grid-template-columns: var(--sp-left, 58.08%) var(--sp-right, 41.92%); }
.lavie-features-inner--count-2 .lavie-card{ grid-column:span 1; }
.lavie-features-inner--count-2 .lavie-usage-row{ flex-direction:column; align-items:flex-start; }
.lavie-features-inner--count-2 .lavie-usage-btn{ width:100%; justify-content:center; }

/* 3 blocks active: 33/33/33 split */
.lavie-features-inner--count-3{ grid-template-columns:repeat(3, 1fr); }
.lavie-features-inner--count-3 .lavie-card{ grid-column:span 1; }
.lavie-features-inner--count-3 .lavie-usage-row{ flex-direction:column; align-items:flex-start; }
.lavie-features-inner--count-3 .lavie-usage-btn{ width:100%; justify-content:center; }

/* When all 4 blocks are active, make first row widths match product columns:
   - Left two cols combined equal media width (sp-left)
   - Right col equals purchase card width (sp-right) */
.lavie-features-inner--count-4{
  grid-template-columns: calc((var(--sp-left, 58.08%) - var(--sp-gap, 20px)) / 2)
                          calc((var(--sp-left, 58.08%) - var(--sp-gap, 20px)) / 2)
                          var(--sp-right, 41.92%);
}

.lavie-card{ background: linear-gradient(0deg, #FFFFFF, #FFFFFF), linear-gradient(180deg, #F5F8FA 0%, #DEEAF1 100%); border-radius:40px; padding:48px; display:flex; flex-direction:column; gap:32px; }
.lavie-card-title{ font-family:'Nunito',sans-serif !important; font-weight:700 !important; font-size:40px; line-height:1; color:#063043; margin:0; }
.lavie-card-text{ font-family:'Nunito',sans-serif !important; font-weight:600; font-size:20px; line-height:150%; color:rgba(6,48,67,0.6); }
.lavie-card-text p{ margin:0 0 16px; }

/* Tech list */
.lavie-tech-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:24px; }
.lavie-tech-item{ display:flex; align-items:center; gap:12px; }
.lavie-tech-icon{ width:80px; height:80px; min-width:80px; min-height:80px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:#fff; overflow:hidden; }
.lavie-tech-icon svg,
.lavie-tech-icon img{ width:80px !important; height:80px !important; max-width:80px; max-height:80px; object-fit:contain; display:block; }
.lavie-tech-text{ font-family:'Nunito',sans-serif; font-weight:600; font-size:18px; line-height:18px; color:#063043; }

/* Specs */
.lavie-specs{ display:flex; flex-direction:column; gap:16px; margin:0; }
.lavie-spec{ display:flex; flex-direction:column; gap:4px; }
.lavie-spec dt{ font-family:'Nunito',sans-serif; font-weight:600; font-size:20px; line-height:120%; color:rgba(6,48,67,0.6); }
.lavie-spec dd{ margin:0; font-family:'Nunito',sans-serif; font-weight:700; font-size:20px; line-height:100%; color:#063043; }

/* Usage */
.lavie-card--usage{ gap:32px; }
.lavie-usage-row{ display:flex; align-items:flex-end; gap:24px; }
.lavie-usage-text{ flex:1 1 auto; font-family:'Nunito',sans-serif; font-weight:600; font-size:20px; line-height:120%; color:rgba(6,48,67,0.6); }
.lavie-usage-btn{ flex:0 0 auto; display:flex; align-items:center; gap:24px; padding:24px 40px; border:1px solid #C2D3F0; border-radius:80px; background:#fff; text-decoration:none; }
.lavie-usage-btn-icon{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border:1px solid #A6C7FF; border-radius:999px; background:#fff; }
.lavie-usage-btn-text{ font-family:'Nunito',sans-serif; font-weight:600; font-size:20px; line-height:20px; color:#1882B1; }

/* Responsive for features */
@media (max-width: 1200px){
  .lavie-features-inner,
  .lavie-features-inner--count-2,
  .lavie-features-inner--count-3,
  .lavie-features-inner--count-4{ gap:24px; grid-template-columns:1fr; }
  .lavie-card--about,
  .lavie-card--tech,
  .lavie-card--specs,
  .lavie-card--usage,
  .lavie-features-inner--count-2 .lavie-card,
  .lavie-features-inner--count-3 .lavie-card{ grid-column:1 / -1; }
}
@media (max-width: 900px){
  .lavie-card{ padding:32px; gap:24px; }
  .lavie-card-title{ font-size:32px; }
  .lavie-card-text{ font-size:18px; }
  .lavie-usage-btn{ padding:18px 28px; }
}
@media (max-width: 600px){
  .lavie-features{ padding:24px 16px 0; }
  .lavie-usage-row{ flex-direction:column; align-items:flex-start; }
  .lavie-usage-btn{ width:100%; justify-content:center; }
}

/* Receive section: Ce que vous recevrez */
.lavie-receive{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:40px clamp(16px,5vw,80px); }
.lavie-receive-inner{ max-width:1280px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:24px; }
.lavie-receive-title{ font-family:'Nunito',sans-serif !important; font-weight:700 !important; font-size:48px; line-height:48px; color:#063043; margin:0; text-align:center; }
.lavie-receive-grid{ width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:flex-start; gap:8px; }
.lavie-receive-card{ width:360px; display:flex; flex-direction:column; align-items:center; gap:16px; border-radius:40px; }
.lavie-receive-figure{ width:360px; height:380px; padding:24px; border-radius:40px; background: linear-gradient(180deg, #F5F8FA 0%, #DEEAF1 100%); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.lavie-receive-image{ max-width:100%; max-height:100%; object-fit:contain; display:block; }
.lavie-receive-caption{ width:360px; display:flex; flex-direction:column; align-items:center; gap:8px; }
.lavie-receive-item-title{ width:360px; margin:0; font-family:'Nunito',sans-serif; font-weight:700; font-size:24px; line-height:24px; color:#05124D; text-align:center; }
.lavie-receive-item-subtitle{ width:360px; font-family:'Nunito',sans-serif; font-weight:700; font-size:16px; line-height:20px; text-align:center; color:#05124D; opacity:0.6; }

/* Receive variants */
.lavie-receive-figure.is-white{
  background: linear-gradient(#FFFFFF, #FFFFFF) padding-box,
              linear-gradient(180deg, #C9E1EB 0%, #DEEAF1 100%) border-box;
  border: 1px solid transparent;
}
.lavie-receive-figure.is-cover{
  padding:0;
  background:none;
}
.lavie-receive-figure.is-cover .lavie-receive-image{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
}

@media (min-width: 901px){
  .lavie-receive-grid--count-4{ justify-content:space-between; }
  .lavie-receive-grid--count-5,
  .lavie-receive-grid--count-6{ justify-content:space-between; }

  .lavie-receive-grid--count-4 .lavie-receive-card{ width: calc((100% - 24px) / 4); }
  .lavie-receive-grid--count-5 .lavie-receive-card,
  .lavie-receive-grid--count-6 .lavie-receive-card{ width: calc((100% - 16px) / 3); }

  .lavie-receive-grid--count-4 .lavie-receive-figure,
  .lavie-receive-grid--count-4 .lavie-receive-caption,
  .lavie-receive-grid--count-4 .lavie-receive-item-title,
  .lavie-receive-grid--count-4 .lavie-receive-item-subtitle,
  .lavie-receive-grid--count-5 .lavie-receive-figure,
  .lavie-receive-grid--count-5 .lavie-receive-caption,
  .lavie-receive-grid--count-5 .lavie-receive-item-title,
  .lavie-receive-grid--count-5 .lavie-receive-item-subtitle,
  .lavie-receive-grid--count-6 .lavie-receive-figure,
  .lavie-receive-grid--count-6 .lavie-receive-caption,
  .lavie-receive-grid--count-6 .lavie-receive-item-title,
  .lavie-receive-grid--count-6 .lavie-receive-item-subtitle{ width:100%; }
}

@media (max-width: 1200px){
  .lavie-receive-title{ font-size:42px; line-height:1.1; }
}
@media (max-width: 900px){
  .lavie-receive-grid{ gap:16px; }
}
@media (max-width: 600px){
  .lavie-receive{ padding:24px 16px; }
  .lavie-receive-title{ font-size:32px; line-height:1.1; }
  .lavie-receive-card{ width:100%; }
  .lavie-receive-figure{ width:100%; }
.lavie-receive-caption{ width:100%; }
.lavie-receive-item-title, .lavie-receive-item-subtitle{ width:100%; }
}

.lavie-elem-section{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:0; }
.lavie-elem-section .lavie-elem-item{ width:100%; }
.lavie-elem-section .elementor-section.elementor-section-boxed > .elementor-container{ max-width:100% !important; width:100% !important; }
.lavie-elem-section .elementor-section{ width:100% !important; margin:0 !important; }
.lavie-elem-section .elementor-container{ width:100% !important; }
/* Elementor Flexbox Container mode */
.lavie-elem-section .e-con{ width:100% !important; max-width:100% !important; margin:0 !important; }
.lavie-elem-section .e-con-inner{ width:100% !important; max-width:100% !important; }

@media (max-width: 600px){
  .lavie-sticky-atc{ position:fixed; left:0; right:0; bottom:0; z-index:999; transform:translateY(100%); opacity:0; transition:transform .35s cubic-bezier(0.4, 0, 0.2, 1), opacity .25s ease, max-height .4s cubic-bezier(0.4, 0, 0.2, 1); background:#fff; box-shadow:0 -6px 24px rgba(0,0,0,0.08), 0 -1px 0 #C9E1EB inset; border-top-left-radius:30px; border-top-right-radius:30px; max-height:90px; overflow:hidden; }
  .lavie-sticky-atc.is-visible{ transform:translateY(0); opacity:1; }
  .lavie-sticky-atc.is-expanded{ max-height:400px; transition:max-height .45s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .lavie-sticky-atc__inner{ max-width:1280px; width:100%; margin:0 auto; padding:10px 12px calc(44px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:8px; align-items:stretch; }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__inner{ display:flex; flex-direction:column; gap:8px; align-items:stretch; }
  
  /* Comment translated to English. */
  .lavie-sticky-atc.is-expanded .lavie-sticky-atc__inner{ padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
  
  /* Comment translated to English. */
  .lavie-sticky-product-title{ display:none; }

  /* Comment translated to English. */
  .lavie-sticky-drag-handle{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 0 4px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    transition:transform .3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .lavie-sticky-atc.is-expanded .lavie-sticky-drag-handle{
    transform:rotate(180deg);
  }

  .lavie-sticky-drag-bar{
    display:block;
    width:40px;
    height:4px;
    background:#C9E1EB;
    border-radius:2px;
    transition:background .2s ease, width .3s cubic-bezier(0.4, 0, 0.2, 1);
  }

  .lavie-sticky-drag-handle:active .lavie-sticky-drag-bar{
    background:#1882B1;
  }

  .lavie-sticky-atc.is-expanded .lavie-sticky-drag-bar{
    width:50px;
  }
  .lavie-sticky-atc__price{ font-family:'Nunito',sans-serif; font-weight:700; font-size:22px; line-height:22px; color:var(--lavie-text); display:flex; align-items:center; min-width:0; }
  .lavie-sticky-atc .woocommerce-Price-amount,
  .lavie-sticky-atc .woocommerce-Price-amount bdi,
  .lavie-sticky-atc .amount,
  .lavie-sticky-atc .price .amount{ font-size:22px !important; line-height:22px !important; }
  .lavie-sticky-atc .woocommerce-Price-currencySymbol{ font-size:22px !important; line-height:21px !important; }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__price{ font-size:22px; line-height:22px; justify-content:flex-start; }
  .lavie-sticky-atc.has-attrs .woocommerce-Price-amount,
  .lavie-sticky-atc.has-attrs .woocommerce-Price-amount bdi,
  .lavie-sticky-atc.has-attrs .amount,
  .lavie-sticky-atc.has-attrs .price .amount{ font-size:22px !important; line-height:22px !important; }
  .lavie-sticky-atc.has-attrs .woocommerce-Price-currencySymbol{ font-size:22px !important; line-height:21px !important; }
  .lavie-sticky-atc__form{ display:flex; align-items:center; gap:12px; max-width:50vw; justify-content:flex-end; min-width:0; }
  .lavie-sticky-atc__form .cpb-button{ padding:12px 16px !important; border-radius:40px !important; gap:8px !important; width:auto !important; max-width:46vw !important; }
  .lavie-sticky-atc__form .cpb-button .cpb-button-text{ font-size:14px !important; line-height:18px !important; display:inline-block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:calc(46vw - 32px); }
  .lavie-sticky-atc__form .cpb-button svg{ height:18px !important; min-width:18px !important; width:auto !important; display:inline-block !important; }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__form{ grid-column:2; grid-row:1; align-self:center; justify-self:end; max-width:46vw; min-width:0; }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__form .cpb-button{ padding:12px 16px !important; max-width:42vw !important; }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__form .cpb-button .cpb-button-text{ font-size:13px !important; line-height:16px !important; max-width:calc(42vw - 28px); }
  .lavie-sticky-atc.has-attrs .lavie-sticky-atc__form .cpb-button svg{ height:16px !important; min-width:16px !important; }
  /* Comment translated to English. */
  .lavie-sticky-attrs{ display:flex; flex-direction:column; align-items:stretch; gap:10px; padding:0 4px 8px; width:100%; opacity:0; max-height:0; overflow:hidden; transition:opacity .35s cubic-bezier(0.4, 0, 0.2, 1), max-height .4s cubic-bezier(0.4, 0, 0.2, 1), padding .3s ease; }
  
  /* Comment translated to English. */
  .lavie-sticky-atc.is-expanded .lavie-sticky-attrs{ opacity:1; max-height:300px; }
  
  /* Comment translated to English. */
  .lavie-sticky-attr{ display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; }
  
  /* Comment translated to English. */
  .lavie-sticky-attr-label{
    display:flex;
    font-family:'Nunito',sans-serif;
    font-weight:600;
    font-size:13px;
    line-height:1;
    color:#063043;
    white-space:nowrap;
    flex-shrink:0;
  }
  
  /* Comment translated to English. */
  .lavie-sticky-attr-options{ display:flex; align-items:center; gap:6px; flex:0 1 auto; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; flex-wrap:nowrap; max-width:calc(100vw - 140px); justify-content:flex-end; }
  .lavie-sticky-attr-options::-webkit-scrollbar{ display:none; }
  .lavie-sticky-attr-options .cpb-option{ flex-shrink:0; }
  
  /* Comment translated to English. */
  .lavie-sticky-atc__price-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; }
  .lavie-sticky-atc__form .cpb-button svg{ height:20px !important; min-width:20px !important; width:auto !important; display:inline-block !important; }
  /* Comment translated to English. */
  .lavie-sticky-atc .cpb-swatch{ width:28px !important; height:28px !important; border-radius:50% !important; }
  .lavie-sticky-atc .cpb-swatch.selected{ box-shadow:0 0 0 2px #F6F9FF, 0 0 0 3px #1882B1 !important; }
  .lavie-sticky-atc .cpb-button-swatch{ padding:6px 10px !important; font-size:12px !important; line-height:1 !important; white-space:nowrap; }
  
  /* Comment translated to English. */
  .lavie-sticky-atc .cpb-quantity-controls{ height:40px !important; gap:4px !important; padding:4px !important; }
  .lavie-sticky-atc .cpb-qty-btn{ width:32px !important; height:32px !important; font-size:18px !important; }
  .lavie-sticky-atc .cpb-qty-input{ width:32px !important; min-width:32px !important; height:32px !important; font-size:14px !important; }
}

@media (min-width: 901px){
  .lavie-sticky-atc{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:999;
    transform:translate(-50%, 150%);
    opacity:0;
    transition:transform .25s ease, opacity .2s ease;
    background:#ffffff;
    box-shadow:0 -6px 24px rgba(0,0,0,0.08), 0 -1px 0 #C9E1EB inset;
    border-radius:999px;
    max-width:960px;
    width:fit-content;
    padding: 0 12px;
  }

  .lavie-sticky-atc.is-visible{
    transform:translate(-50%, 0);
    opacity:1;
  }

  .lavie-sticky-atc__inner{
    width:100%;
    margin:0 auto;
    padding:8px 0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
  }

  /* Comment translated to English. */
  .lavie-sticky-atc__price-row{
    display:contents;
  }

  /* Comment translated to English. */
  .lavie-sticky-drag-handle{
    display:none;
  }

  .lavie-sticky-product-title{
    font-family:'Nunito',sans-serif;
    font-weight:700;
    font-size:16px;
    line-height:1.2;
    color:#063043;
    flex-shrink:0;
    margin-right:16px;
    max-width:200px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* Comment translated to English. */
  @media (min-width: 901px){
    .lavie-sticky-atc .lavie-sticky-attr-label{
      display:none !important;
    }
  }

  .lavie-sticky-atc__price{
    font-family:'Nunito',sans-serif;
    font-weight:700;
    font-size:20px;
    line-height:20px;
    color:var(--lavie-text);
    display:flex;
    align-items:center;
    min-width:0;
    flex-shrink:0;
  }

  .lavie-sticky-atc__form{
    display:flex;
    align-items:center;
    gap:12px;
    max-width:none;
    justify-content:flex-end;
    min-width:0;
    flex-shrink:0;
  }

  .lavie-sticky-attrs{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:12px;
    flex:0 1 auto;
    overflow-x:auto;
    overflow-y:hidden;
    padding:0 8px;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }

  .lavie-sticky-attrs::-webkit-scrollbar{
    display:none;
  }

  .lavie-sticky-attr{
    display:flex;
    align-items:center;
    gap:8px;
    flex-shrink:0;
  }

  .lavie-sticky-attr-label{
    font-family:'Nunito',sans-serif;
    font-weight:600;
    font-size:14px;
    line-height:1;
    color:#063043;
    white-space:nowrap;
  }

  .lavie-sticky-attr-options{
    display:flex;
    align-items:center;
    gap:6px;
  }

  /* Comment translated to English. */
  .lavie-sticky-atc .cpb-swatch{
    width:32px !important;
    height:32px !important;
    border-radius:50% !important;
  }

  .lavie-sticky-atc .cpb-swatch.selected{
    box-shadow:0 0 0 2px #F6F9FF, 0 0 0 4px #1882B1 !important;
  }

  .lavie-sticky-atc .cpb-button-swatch{
    padding:8px 12px !important;
    font-size:13px !important;
    line-height:1 !important;
  }

  /* Comment translated to English. */
  .lavie-sticky-atc .cpb-quantity-controls{
    height:48px !important;
    gap:4px !important;
    padding:6px !important;
  }

  .lavie-sticky-atc .cpb-qty-btn{
    width:36px !important;
    height:36px !important;
    font-size:20px !important;
  }

  .lavie-sticky-atc .cpb-qty-input{
    width:36px !important;
    min-width:36px !important;
    height:36px !important;
    font-size:16px !important;
  }

  /* Comment translated to English. */
  .lavie-sticky-atc .cpb-button{
    padding:16px 22px !important;
    font-size:16px !important;
  }

  .lavie-sticky-atc .cpb-button svg{
    height:16px !important;
    min-width:16px !important;
  }
}
