/* === KIMONO PLAGE — CUSTOM CSS V4 ===
   Prefix: kp- | Archetype: Lifestyle Colore x Nature Premium
   Pill buttons 24px, rounded cards 12-16px, summer Mediterranean vibe
*/

:root {
  --color-ocean-700:#1B4D5C; --color-ocean-600:#245E6F;
  --color-sable-500:#D4A76A; --color-sable-400:#E0BD88;
  --color-sand-50:#FDF9F4; --color-sand-100:#F0E8DC; --color-sand-200:#E2DDD4;
  --color-teal-500:#6B8A8F; --color-teal-400:#9BB0B5; --color-teal-700:#3D5A63;
  --color-white:#FFFFFF; --color-green-600:#4A8A5A; --color-red-600:#C4524A;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;
  --space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-20:80px;
  --radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:24px;
  --color-bg-primary:var(--color-sand-50);--color-bg-surface:var(--color-sand-100);
  --color-bg-card:var(--color-white);--color-text-primary:var(--color-ocean-700);
  --color-text-body:var(--color-teal-700);--color-text-muted:var(--color-teal-500);
  --color-accent:var(--color-sable-500);--color-interactive:var(--color-ocean-700);
  --color-border:var(--color-sand-200);
  --btn-radius:24px;--card-radius:var(--radius-md);
  --header-height:58px;--product-img-ratio:4/5;
}
body{font-family:"Nunito Sans",sans-serif;color:var(--color-text-body);background:var(--color-bg-primary);font-size:1rem;line-height:1.6}
h1,h2,h3,h4,h5{font-family:"DM Serif Display",serif;color:var(--color-text-primary);font-weight:400}
*:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:8px}
a{color:var(--color-interactive);text-decoration:none}
a:hover{color:var(--color-ocean-600)}
.kp-container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}
@media(min-width:1024px){.kp-container{padding:0 64px}}
.kp-overline{font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-accent)}

/* BUTTONS */
.kp-btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--color-interactive);color:#fff;padding:14px 32px;border:none;border-radius:var(--btn-radius);cursor:pointer;font-family:"Nunito Sans",sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.25s ease;box-shadow:0 4px 16px rgba(27,77,92,0.2)}
.kp-btn-primary:hover{background:var(--color-ocean-600);transform:translateY(-2px);box-shadow:0 6px 20px rgba(27,77,92,0.3);color:#fff}
.kp-btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.9);color:var(--color-interactive);padding:14px 32px;border:1.5px solid var(--color-interactive);border-radius:var(--btn-radius);cursor:pointer;font-family:"Nunito Sans",sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;transition:all 0.25s ease}
.kp-btn-secondary:hover{background:var(--color-interactive);color:#fff}

/* TOP BAR */
.kp-top-bar{background:linear-gradient(90deg,var(--color-ocean-700),var(--color-ocean-600));color:rgba(255,255,255,0.9);text-align:center;padding:9px var(--space-4);font-size:0.7rem;font-weight:600;letter-spacing:0.5px}

/* HEADER */
.kp-header{position:sticky;top:0;z-index:100;background:rgba(253,249,244,0.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);height:var(--header-height);display:flex;align-items:center}
.kp-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}
.kp-logo{font-family:"DM Serif Display",serif;font-size:1.35rem;color:var(--color-text-primary);letter-spacing:-0.02em;text-decoration:none}
.kp-logo em{font-style:italic;color:var(--color-accent)}
.kp-header-icons{display:flex;align-items:center;gap:14px}
.kp-header-icons a,.kp-header-icons button{background:none;border:none;cursor:pointer;color:var(--color-text-primary);padding:4px}
.kp-hamburger{display:flex;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px}
.kp-hamburger span{display:block;width:22px;height:2px;background:var(--color-ocean-700);border-radius:1px}
.kp-hamburger span:nth-child(2){width:15px}

/* MOBILE MENU */
.kp-mobile-menu{position:fixed;top:0;left:0;right:0;bottom:0;z-index:200;background:var(--color-bg-primary);transform:translateX(-100%);transition:transform 0.3s ease;padding:24px;overflow-y:auto}
.kp-mobile-menu.open{transform:translateX(0)}
.kp-mobile-menu-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-primary)}
.kp-mobile-menu nav{margin-top:48px}
.kp-mobile-menu nav a{display:block;padding:16px 0;font-size:1.1rem;font-weight:600;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);text-decoration:none}

/* HERO */
.kp-hero{position:relative;min-height:88vh;background:linear-gradient(160deg,var(--color-ocean-700) 0%,#2A7A8A 35%,var(--color-sable-500) 100%);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.kp-hero-wave{position:absolute;bottom:0;left:0;right:0;height:120px;background:var(--color-bg-primary);clip-path:ellipse(55% 100% at 50% 100%)}
.kp-hero-sun{position:absolute;top:15%;right:20%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(212,167,106,0.35) 0%,transparent 70%)}
.kp-hero-content{position:relative;z-index:2;padding:64px 24px;max-width:560px}
.kp-hero h1{font-size:clamp(2.4rem,6vw,3.8rem);line-height:1.05;letter-spacing:-0.01em;margin-bottom:20px;color:#fff}
.kp-hero h1 em{font-style:italic;color:var(--color-sable-400)}
.kp-hero p{font-size:1rem;line-height:1.7;color:rgba(255,255,255,0.75);margin-bottom:32px;max-width:400px;margin-left:auto;margin-right:auto}
.kp-hero-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.kp-hero .kp-btn-primary{background:var(--color-sable-500);box-shadow:0 4px 16px rgba(212,167,106,0.3)}
.kp-hero .kp-btn-primary:hover{background:var(--color-sable-400)}
.kp-hero .kp-btn-secondary{border-color:#fff;color:#fff;background:rgba(255,255,255,0.1)}
.kp-hero .kp-btn-secondary:hover{background:rgba(255,255,255,0.25);color:#fff}

/* TRUST BAR */
.kp-trust-bar{padding:var(--space-6) 0;background:var(--color-bg-card);border-bottom:1px solid var(--color-border)}
.kp-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
@media(min-width:768px){.kp-trust-grid{grid-template-columns:repeat(4,1fr)}}
.kp-trust-item{display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:0.72rem;font-weight:600;color:var(--color-text-primary)}
.kp-trust-item span.kp-trust-icon{font-size:1rem;flex-shrink:0}

/* SECTION HEADING */
.kp-section-heading{text-align:center;margin-bottom:40px}
.kp-section-heading h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}

/* COLLECTIONS */
.kp-collections{padding:var(--space-16) 0}
.kp-collections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
.kp-collection-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;padding:32px 24px;min-height:200px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;transition:transform 0.3s ease;text-decoration:none}
.kp-collection-card:hover{transform:translateY(-4px)}
.kp-collection-card h3{color:#fff;font-size:1.15rem;margin-bottom:4px}
.kp-collection-card p{color:rgba(255,255,255,0.7);font-size:0.72rem;font-weight:600;margin:0}
.kp-collection-card .kp-collection-emoji{font-size:2rem;position:absolute;top:16px;right:16px;opacity:0.6}

/* BESTSELLERS */
.kp-bestsellers{padding:var(--space-16) 0}

/* PRODUCT CARDS (SHOP + HOMEPAGE) */
.kp-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media(min-width:768px){.kp-product-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.kp-product-grid{grid-template-columns:repeat(4,1fr)}}
.kp-product-card{cursor:pointer}
.kp-product-card a{text-decoration:none;color:inherit}
.kp-card-image{position:relative;overflow:hidden;aspect-ratio:var(--product-img-ratio);border-radius:var(--radius-md);margin-bottom:var(--space-3)}
.kp-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.kp-product-card:hover .kp-card-image img{transform:scale(1.05)}
.kp-card-badge{position:absolute;top:10px;left:10px;border-radius:20px;background:var(--color-red-600);color:#fff;padding:4px 12px;font-size:0.6rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;z-index:2}
.kp-card-badge--new{background:var(--color-interactive)}
.kp-quick-add{position:absolute;bottom:10px;right:10px;border-radius:50%;width:36px;height:36px;background:rgba(255,255,255,0.92);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,0.1);transition:transform 0.2s;z-index:2}
.kp-quick-add:hover{transform:scale(1.1)}
.kp-card-title{font-size:0.82rem;font-family:"Nunito Sans",sans-serif;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}
.kp-card-price{font-size:0.92rem;font-weight:700;color:var(--color-accent)}
.kp-card-price-old{font-size:0.72rem;color:var(--color-teal-400);text-decoration:line-through;margin-left:6px}

/* STORY SECTION */
.kp-story{padding:var(--space-16) 0}
.kp-story-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media(min-width:1024px){.kp-story-grid{grid-template-columns:1fr 1fr;gap:var(--space-12)}}
.kp-story-image{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-surface)}
.kp-story-image img{width:100%;height:100%;object-fit:cover}
.kp-story-text h2{margin-bottom:var(--space-4)}
.kp-story-text p{font-size:0.92rem;line-height:1.8;color:var(--color-text-muted);margin-bottom:var(--space-4)}

/* NEWSLETTER */
.kp-newsletter{padding:var(--space-16) 0;text-align:center}
.kp-newsletter-box{max-width:440px;margin:0 auto;background:var(--color-bg-surface);padding:var(--space-8) var(--space-6);border-radius:var(--radius-lg)}
.kp-newsletter h2{margin-bottom:var(--space-2)}
.kp-newsletter p{font-size:0.85rem;color:var(--color-text-muted);margin-bottom:var(--space-6)}
.kp-newsletter-form{display:flex;gap:var(--space-2)}
.kp-newsletter-form input[type="email"]{flex:1;padding:12px 16px;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);font-family:"Nunito Sans",sans-serif;font-size:0.85rem;background:var(--color-bg-card)}
.kp-newsletter-form input[type="email"]:focus{border-color:var(--color-accent);outline:none}
.kp-newsletter-form button{padding:12px 24px;background:var(--color-interactive);color:#fff;border:none;border-radius:var(--radius-pill);font-weight:700;font-size:0.75rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background 0.2s}
.kp-newsletter-form button:hover{background:var(--color-ocean-600)}

/* FOOTER */
.kp-footer{background:var(--color-ocean-700);color:rgba(255,255,255,0.7);padding:48px 0 24px;margin-top:0}
.kp-footer a{color:rgba(255,255,255,0.7);text-decoration:none;transition:color 0.2s}
.kp-footer a:hover{color:#fff}
.kp-footer-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(min-width:768px){.kp-footer-columns{grid-template-columns:repeat(4,1fr)}}
.kp-footer h4{color:#fff;font-family:"Nunito Sans",sans-serif;font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}
.kp-footer ul{list-style:none;padding:0;margin:0}
.kp-footer li{margin-bottom:8px;font-size:0.78rem}
.kp-footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:32px;padding-top:20px;text-align:center;font-size:0.7rem}
.kp-footer-logo{font-family:"DM Serif Display",serif;font-size:1.2rem;color:#fff;margin-bottom:8px}
.kp-footer-logo em{font-style:italic;color:var(--color-sable-400)}

/* ATC BUTTON (product page) */
.kp-atc-button{flex:1;height:52px;background:var(--color-interactive);color:#fff;border:none;border-radius:var(--btn-radius);font-size:0.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 16px rgba(27,77,92,0.25);font-family:"Nunito Sans",sans-serif}
.kp-atc-button:hover{background:var(--color-ocean-600);transform:translateY(-1px)}

/* STICKY ATC */
.kp-sticky-atc{position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--color-bg-card);border-top:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);box-shadow:0 -4px 16px rgba(0,0,0,0.08);transform:translateY(100%);transition:transform 0.3s ease}
.kp-sticky-atc.visible{transform:translateY(0)}
@media(min-width:1024px){.kp-sticky-atc{display:none}}

/* PRODUCT PAGE LAYOUT */
.kp-product-main{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:1024px){.kp-product-main{grid-template-columns:55% 45%;gap:40px}}

/* GALLERY */
.kp-gallery-main{aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden}
.kp-gallery-main img{width:100%;height:100%;object-fit:cover}
.kp-gallery-thumbs{display:flex;gap:8px;margin-top:8px}
.kp-gallery-thumbs button{flex:1;aspect-ratio:1;border-radius:10px;cursor:pointer;overflow:hidden;border:1.5px solid var(--color-border);padding:0;background:var(--color-bg-surface)}
.kp-gallery-thumbs button.active{border:2px solid var(--color-accent)}
.kp-gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.kp-gallery-dots{display:flex;justify-content:center;gap:6px;margin-top:12px}
.kp-gallery-dots button{width:7px;height:7px;border-radius:4px;border:none;background:var(--color-border);cursor:pointer;padding:0;transition:all 0.2s}
.kp-gallery-dots button.active{width:20px;background:var(--color-accent)}
@media(min-width:1024px){.kp-gallery-dots{display:none}}

/* COLOR SWATCHES */
.kp-color-swatches{display:flex;gap:10px;margin-bottom:20px}
.kp-color-swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;border:2px solid var(--color-border);transition:all 0.15s}
.kp-color-swatch.active{border:3px solid var(--color-interactive);box-shadow:0 0 0 2px var(--color-bg-primary)}

/* SIZE BUTTONS */
.kp-size-buttons{display:flex;gap:8px;margin-bottom:20px}
.kp-size-btn{flex:1;height:46px;border-radius:12px;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text-primary);font-size:0.85rem;font-weight:600;cursor:pointer;font-family:"Nunito Sans",sans-serif;transition:all 0.15s}
.kp-size-btn.active{border:2px solid var(--color-interactive);background:var(--color-interactive);color:#fff}
.kp-size-guide-link{font-size:0.72rem;color:var(--color-accent);font-weight:600;cursor:pointer;border:none;background:none;text-decoration:underline;padding:0}

/* TRUST SIGNALS (product page) */
.kp-trust-signals{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}
.kp-trust-signal{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-surface);border-radius:10px;font-size:0.7rem;font-weight:600;color:var(--color-text-primary)}

/* SHARE BUTTON */
.kp-share-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);padding:8px 16px;color:var(--color-text-muted);font-size:0.72rem;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:"Nunito Sans",sans-serif}
.kp-share-btn:hover{border-color:var(--color-interactive);color:var(--color-interactive)}

/* METAFIELDS */
.kp-metafields{padding:var(--space-12) 0;background:var(--color-bg-surface)}
.kp-metafields-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
@media(min-width:768px){.kp-metafields-grid{grid-template-columns:repeat(3,1fr)}}
.kp-metafield-card{background:var(--color-bg-card);padding:24px 20px;border-radius:var(--radius-lg)}
.kp-metafield-card .kp-metafield-icon{font-size:1.5rem;display:block;margin-bottom:12px}
.kp-metafield-card h3{font-size:1.05rem;margin-bottom:8px}
.kp-metafield-card p{font-size:0.82rem;line-height:1.75;color:var(--color-text-muted)}

/* PRODUCT TABS */
.kp-product-tabs{border-bottom:1px solid var(--color-border);display:flex;gap:0;margin-bottom:20px}
.kp-product-tab{padding:12px 20px;font-size:0.78rem;font-weight:600;color:var(--color-text-muted);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;font-family:"Nunito Sans",sans-serif}
.kp-product-tab.active{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}

/* FAQ ACCORDION */
.kp-faq details{border-bottom:1px solid var(--color-border);padding:16px 0}
.kp-faq summary{font-size:0.85rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.kp-faq summary::-webkit-details-marker{display:none}
.kp-faq details[open] summary .kp-faq-arrow{transform:rotate(180deg)}
.kp-faq-arrow{transition:transform 0.2s;color:var(--color-text-muted);font-size:0.8rem}
.kp-faq p{font-size:0.82rem;line-height:1.7;color:var(--color-text-muted);margin-top:8px}

/* SIMILAR PRODUCTS */
.kp-similar{padding:var(--space-12) 0}
.kp-similar-scroll{display:flex;gap:var(--space-4);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-2)}
.kp-similar-scroll::-webkit-scrollbar{display:none}
.kp-similar-scroll .kp-product-card{min-width:42%;flex-shrink:0}
@media(min-width:1024px){.kp-similar-scroll .kp-product-card{min-width:23%}}

/* COLLECTION HERO */
.kp-collection-hero{text-align:center;padding:var(--space-12) 0}
.kp-collection-hero h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:6px}
.kp-collection-hero p{font-size:0.85rem;color:var(--color-text-muted)}

/* FILTER BAR */
.kp-filter-bar{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}
.kp-filter-bar-inner{display:flex;justify-content:space-between;align-items:center}
.kp-filter-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.kp-filter-pills::-webkit-scrollbar{display:none}
.kp-filter-pill{padding:8px 18px;white-space:nowrap;border-radius:20px;font-size:0.72rem;font-weight:600;cursor:pointer;font-family:"Nunito Sans",sans-serif;transition:all 0.15s;border:1.5px solid var(--color-border);background:transparent;color:var(--color-text-body);text-decoration:none}
.kp-filter-pill.active,.kp-filter-pill:hover{background:var(--color-interactive);color:#fff;border-color:var(--color-interactive)}
.kp-sort-select{padding:8px 12px;border-radius:10px;border:1.5px solid var(--color-border);font-size:0.72rem;font-family:"Nunito Sans",sans-serif;color:var(--color-text-body);background:var(--color-bg-card);cursor:pointer;outline:none;min-width:140px}

/* PAGINATION */
.kp-pagination{display:flex;justify-content:center;gap:8px;margin-top:var(--space-8)}
.kp-pagination a,.kp-pagination span{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:600;cursor:pointer;font-family:"Nunito Sans",sans-serif;border:1.5px solid var(--color-border);color:var(--color-text-muted);background:transparent;transition:all 0.15s;text-decoration:none}
.kp-pagination .current,.kp-pagination a:hover{background:var(--color-interactive);color:#fff;border-color:var(--color-interactive)}

/* CART PAGE */
.kp-cart-layout{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:1024px){.kp-cart-layout{grid-template-columns:60% 40%;gap:40px}}
.kp-cart-item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--color-border)}
.kp-cart-thumb{width:100px;min-width:100px;aspect-ratio:3/4;border-radius:10px;overflow:hidden;flex-shrink:0}
.kp-cart-thumb img{width:100%;height:100%;object-fit:cover}
.kp-cart-summary{background:var(--color-bg-surface);padding:24px;border-radius:var(--radius-lg);position:sticky;top:calc(var(--header-height) + 20px)}
.kp-shipping-progress{background:var(--color-bg-surface);padding:14px 16px;margin-bottom:20px;border-radius:12px;text-align:center;font-size:0.78rem}
.kp-shipping-bar{margin-top:8px;background:var(--color-sand-200);height:4px;border-radius:4px;overflow:hidden}
.kp-shipping-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-ocean-700),var(--color-sable-500));border-radius:4px;transition:width 0.5s ease}
.kp-promo-banner{background:#2C2016;border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.kp-gift-box{background:#2C2016;border-radius:14px;padding:18px 20px;display:flex;gap:16px;align-items:center;margin:20px 0}

/* QTY CONTROLS */
.kp-qty-controls{display:flex;align-items:center;border:1.5px solid var(--color-border);border-radius:8px;overflow:hidden}
.kp-qty-btn{width:40px;height:40px;border:none;background:none;cursor:pointer;font-size:1.1rem;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center}
.kp-qty-value{width:36px;text-align:center;font-size:0.9rem;font-weight:600;border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);height:40px;display:flex;align-items:center;justify-content:center}

/* CHECKOUT CTA */
.kp-checkout-cta{width:100%;height:54px;background:var(--color-interactive);color:#fff;border:none;border-radius:var(--btn-radius);font-size:0.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all 0.2s;box-shadow:0 4px 16px rgba(27,77,92,0.25);font-family:"Nunito Sans",sans-serif;display:flex;align-items:center;justify-content:center;gap:8px}
.kp-checkout-cta:hover{background:var(--color-ocean-600);transform:translateY(-1px)}

/* PAYMENT PILLS */
.kp-payment-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.kp-payment-pill{padding:6px 14px;background:var(--color-bg-card);border:1.5px solid var(--color-border);border-radius:var(--radius-pill);font-size:0.68rem;font-weight:600;color:var(--color-text-muted)}

/* PROTECTION + TRUST */
.kp-protection{background:#FFF8E8;border-radius:var(--radius-md);padding:16px;margin:16px 0}
.kp-cart-trust{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.kp-cart-trust-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-bg-card);border-radius:10px;font-size:0.7rem;font-weight:600;color:var(--color-text-primary)}

/* PHASE 1 GMC HIDE */
.kp-reviews-section{display:none!important}
.kp-wishlist-btn{display:none!important}
.kp-klarna-badge{display:none!important}
.kp-bestseller-badge{display:none!important}
.kp-ugc-section{display:none!important}

/* WC OVERRIDES */
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail{aspect-ratio:4/5;object-fit:cover;border-radius:12px}
.woocommerce ul.products li.product .price{color:var(--color-accent);font-weight:700;font-family:"Nunito Sans",sans-serif}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:"Nunito Sans",sans-serif;font-size:0.82rem;font-weight:600;color:var(--color-text-primary)}
.woocommerce .quantity .qty{border-radius:8px;border:1.5px solid var(--color-border)}
.woocommerce button.single_add_to_cart_button{background:var(--color-interactive)!important;color:#fff!important;border-radius:var(--btn-radius)!important;font-family:"Nunito Sans",sans-serif;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:0.82rem;padding:14px 32px;border:none;box-shadow:0 4px 16px rgba(27,77,92,0.25);transition:all 0.2s}
.woocommerce button.single_add_to_cart_button:hover{background:var(--color-ocean-600)!important}
.woocommerce nav.woocommerce-pagination ul{display:flex;justify-content:center;gap:8px;border:none}
.woocommerce nav.woocommerce-pagination ul li{border:none}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{width:40px;height:40px;border-radius:50%!important;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--color-interactive);color:#fff;border-color:var(--color-interactive)}

/* BREADCRUMB */
.kp-breadcrumb{padding:12px 0;border-bottom:1px solid var(--color-border);font-size:0.72rem;color:var(--color-text-muted)}
.kp-breadcrumb a{color:var(--color-text-muted);text-decoration:none}
.kp-breadcrumb a:hover{color:var(--color-text-primary)}

/* SUIVI PAGE */
.kp-tracking-search{max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-4)}
.kp-timeline{max-width:640px;margin:0 auto}
.kp-timeline-step{display:flex;gap:16px;padding:16px 0}
.kp-timeline-active{animation:pulse 2s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(74,138,90,0.4)}50%{box-shadow:0 0 0 8px rgba(74,138,90,0)}}

/* FADE IN ANIMATION */
.kp-fade-in{opacity:0;transform:translateY(20px);transition:opacity 0.7s ease,transform 0.7s ease}
.kp-fade-in.visible{opacity:1;transform:translateY(0)}

/* HIDE KADENCE DEFAULT FOOTER + HEADER */
.site-footer,footer.site-footer,.site-footer-wrap,.footer-widget-area{display:none!important}
.kp-footer{display:block!important}
.site-header.kadence-header{display:none!important}

/* WC PRODUCT LOOP STYLING */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}
@media(min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)!important}}
@media(min-width:1024px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)!important}}
.woocommerce ul.products li.product{margin:0!important;padding:0!important;float:none!important;width:auto!important}
.woocommerce ul.products li.product .woocommerce-loop-product__link{text-decoration:none}
.woocommerce ul.products li.product img{border-radius:var(--radius-md)}
.woocommerce .star-rating{display:none}
.woocommerce ul.products li.product .button{display:none}

/* HOMEPAGE FULL-WIDTH BREAKOUT */
.home .entry-content-wrap{max-width:none!important;padding:0!important;margin:0!important}
.home .content-wrap{max-width:none!important;padding:0!important}
.home .site-main{padding:0!important}
.home .entry-content{max-width:none!important}
.home .content-area{max-width:none!important;padding:0!important}
.home .site-container .site-main > article{max-width:none!important}
.home .entry_content_wrap,.home .entry-content-wrap{max-width:none!important;padding-left:0!important;padding-right:0!important}
/* Hide page title on homepage */
.home .entry-header,.home .page-title,.home .entry-title{display:none!important}
/* Kadence specific content wrapper override */
.home .content-container{max-width:none!important;padding:0!important}
.home .site-container .content-wrap{padding:0!important}
.home article.page .entry-content{padding:0!important}

/* === MOBILE PRODUCT PAGE === */
@media (max-width: 767px) {
    .woocommerce-breadcrumb, nav.woocommerce-breadcrumb, .kadence-breadcrumbs {
        display: none !important;
    }
    body.single-product .site-main,
    body.single-product .content-area,
    body.single-product .entry-content-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.single-product { overflow-x: hidden !important; }
    .woocommerce div.product div.images { width: 100% !important; margin: 0 !important; padding: 0 !important; }
    .woocommerce div.product div.images img { width: 100% !important; height: auto !important; border-radius: 0 !important; display: block !important; }
    .woocommerce div.product div.images .flex-control-thumbs {
        display: flex !important; justify-content: center !important; gap: 8px !important; padding: 10px 16px !important;
    }
    .woocommerce div.product div.images .flex-control-thumbs li {
        flex: 0 0 72px !important; width: 72px !important; height: 90px !important;
        border-radius: 10px !important; overflow: hidden !important;
        border: 2px solid var(--color-border) !important; float: none !important; list-style: none !important;
    }
    .woocommerce div.product div.images .flex-control-thumbs li img {
        width: 100% !important; height: 100% !important; object-fit: cover !important;
    }
    .woocommerce div.product .summary, .woocommerce div.product .entry-summary {
        padding: 0 16px !important;
    }
    .woocommerce div.product .product_title { font-size: 1.5rem !important; margin-bottom: 6px !important; }
    .kp-promo-box { padding: 12px 14px !important; margin-bottom: 12px !important; }
    .woocommerce-product-details__short-description { max-height: 85px !important; overflow: hidden !important; }
    .kp-metafields { padding: 24px 16px !important; }
}

/* === GALLERY ARROWS HIDDEN === */
.flex-direction-nav, .woocommerce-product-gallery .flex-direction-nav { display: none !important; }

/* === FOOTER LINKS VISIBLE === */
.kp-footer a, .kp-footer a:link, .kp-footer a:visited { color: rgba(255,255,255,0.8) !important; }
.kp-footer a:hover { color: #fff !important; }
.kp-footer ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.kp-footer ul li { margin-bottom: 8px !important; }
.kp-footer ul li a { font-size: 0.82rem !important; }
@media (max-width: 767px) {
    .kp-footer-columns { display: flex !important; flex-direction: column !important; gap: 24px !important; }
    .kp-footer { padding: 32px 16px !important; }
}

/* === CHATBOT FIXED POSITION === */
#kp-chatbot-toggle, .kp-chatbot-toggle {
    position: fixed !important; bottom: 16px !important; right: 16px !important;
    width: 48px !important; height: 48px !important; border-radius: 50% !important;
    background: #1B4D5C !important; color: #fff !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    cursor: pointer !important; z-index: 90 !important;
    box-shadow: 0 4px 16px rgba(27,77,92,0.3) !important; font-size: 1.3rem !important; border: none !important;
}
#kp-chatbot, .kp-chatbot {
    position: fixed !important; bottom: 76px !important; right: 16px !important;
    width: 320px !important; max-width: calc(100vw - 32px) !important; max-height: 400px !important;
    background: #fff !important; border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.15) !important; z-index: 91 !important;
    overflow: hidden !important; display: none !important;
}
#kp-chatbot.open, .kp-chatbot.open { display: block !important; }
.kp-chatbot-header { background: #1B4D5C !important; color: #fff !important; padding: 12px 16px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
.kp-chatbot-messages { padding: 16px !important; max-height: 250px !important; overflow-y: auto !important; background: #fff !important; }
.kp-chatbot-msg { margin-bottom: 10px !important; padding: 10px 14px !important; border-radius: 12px !important; font-size: 0.82rem !important; line-height: 1.5 !important; }
.kp-chatbot-bot { background: #F0E8DC !important; color: #1B4D5C !important; }
.kp-chatbot-user { background: #1B4D5C !important; color: #fff !important; margin-left: auto !important; }
.kp-chatbot-quickbtns { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 8px !important; }
.kp-chatbot-quickbtns button { padding: 6px 12px !important; border-radius: 16px !important; border: 1.5px solid #E2DDD4 !important; background: #fff !important; color: #1B4D5C !important; font-size: 0.72rem !important; font-weight: 600 !important; cursor: pointer !important; }
.kp-chatbot-input { display: flex !important; border-top: 1px solid #E2DDD4 !important; padding: 8px !important; background: #fff !important; }
.kp-chatbot-input input { flex: 1 !important; border: 1px solid #E2DDD4 !important; border-radius: 20px !important; padding: 8px 14px !important; font-size: 0.82rem !important; outline: none !important; }
.kp-chatbot-input button { width: 36px !important; height: 36px !important; border-radius: 50% !important; background: #1B4D5C !important; color: #fff !important; border: none !important; cursor: pointer !important; margin-left: 8px !important; }

@media (max-width: 767px) {
    body.single-product #kp-chatbot-toggle { bottom: 72px !important; }
    body.single-product #kp-chatbot { bottom: 128px !important; }
}

/* === COHERENT COLORS === */
.kp-chatbot-toggle:hover { background: #245E6F !important; }
.kp-card-badge--new { background: #1B4D5C !important; }
.woocommerce div.product form.cart .single_add_to_cart_button { background: #1B4D5C !important; color: #fff !important; border-radius: 24px !important; }
.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: #245E6F !important; }
.kp-stars { color: #D4A76A !important; }
.kp-size-guide-toggle { background: rgba(212,167,106,0.12) !important; }
.woocommerce-tabs ul.tabs li.active a { border-bottom-color: #D4A76A !important; }
