/* ==========================================
   YarnAndNotions - Complete Ecommerce Styles
   ========================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

/* ---- Reset & Base ---- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:#fefbed;color:#0a3c32;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;font-weight:600;line-height:1.2}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,textarea,select{font-family:inherit}
ul{list-style:none}

/* ---- Container ---- */
.container{max-width:1200px;margin:0 auto;padding:0 1.25rem}

/* ---- Announcement Bar ---- */
.announcement{background:#0a3c32;color:#fefbed;text-align:center;padding:0.5rem 1rem;font-size:0.7rem;letter-spacing:0.05em}

/* ---- Header ---- */
.site-header{background:#fefbed;border-bottom:1px solid rgba(28,122,104,0.12);position:sticky;top:0;z-index:100}
.site-header.scrolled{background:rgba(254,251,237,0.95);backdrop-filter:blur(10px);box-shadow:0 1px 3px rgba(10,60,50,0.06)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo-link{display:flex;align-items:center}
.logo-svg{height:36px;width:auto}
.desktop-nav{display:none;gap:0.25rem;align-items:center}
.nav-link{padding:0.5rem 0.75rem;font-size:0.82rem;font-weight:500;color:rgba(10,60,50,0.75);border-radius:6px;transition:all .15s}
.nav-link:hover,.nav-link.active{background:rgba(10,60,50,0.06);color:#0a3c32}
.header-actions{display:flex;align-items:center;gap:0.25rem}
.icon-btn{position:relative;padding:0.5rem;color:rgba(10,60,50,0.6);border-radius:6px;transition:all .15s;display:flex;align-items:center;justify-content:center}
.icon-btn:hover{background:rgba(10,60,50,0.05);color:#0a3c32}
.cart-badge{position:absolute;top:2px;right:2px;background:#d4af37;color:#0a3c32;font-size:0.6rem;font-weight:700;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.menu-toggle{display:flex;padding:0.5rem;color:#0a3c32;border-radius:6px}
.menu-toggle:hover{background:rgba(10,60,50,0.05)}

/* ---- Mobile Menu ---- */
.mobile-menu{display:none;background:#fefbed;border-top:1px solid rgba(28,122,104,0.1);padding:0.75rem 1.25rem;max-height:70vh;overflow-y:auto}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;padding:0.6rem 0.75rem;font-size:0.85rem;color:rgba(10,60,50,0.8);border-radius:6px}
.mobile-menu a:hover{background:rgba(10,60,50,0.04);color:#0a3c32}
.mobile-divider{border-top:1px solid rgba(28,122,104,0.1);margin:0.5rem 0;padding-top:0.5rem}

/* ---- Hero ---- */
.hero{padding:3rem 0 4rem}
.hero-grid{display:grid;gap:2.5rem;align-items:center}
.hero-title{font-size:2.4rem;font-weight:700;margin-bottom:1.25rem;color:#0a3c32;letter-spacing:-0.01em}
.hero-desc{font-size:0.95rem;color:rgba(10,60,50,0.7);max-width:520px;margin-bottom:1.75rem;line-height:1.7}
.hero-btns{display:flex;flex-wrap:wrap;gap:0.75rem;margin-bottom:1.5rem}
.btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.85rem 1.75rem;font-size:0.85rem;font-weight:600;border-radius:100px;transition:all .2s;border:2px solid transparent}
.btn-primary{background:#0a3c32;color:#fefbed;border-color:#0a3c32}
.btn-primary:hover{background:rgba(10,60,50,0.88)}
.btn-outline{border-color:#0a3c32;color:#0a3c32;background:transparent}
.btn-outline:hover{background:rgba(10,60,50,0.05)}
.btn-full{width:100%;justify-content:center;padding:1rem}
.hero-trust{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:0.7rem;color:rgba(10,60,50,0.45)}
.hero-trust span{display:flex;align-items:center;gap:0.3rem}
.hero-image-wrap{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:0 20px 50px rgba(10,60,50,0.12)}
.hero-image-wrap img{width:100%;aspect-ratio:4/3;object-fit:cover}
.hero-badge{position:absolute;bottom:-16px;left:-16px;background:#fefbed;padding:1rem;border-radius:0.75rem;box-shadow:0 4px 15px rgba(10,60,50,0.1);border:1px solid rgba(28,122,104,0.08)}
.hero-badge p:first-child{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.08em;color:rgba(10,60,50,0.45);margin-bottom:0.2rem;font-family:'Inter',sans-serif;font-weight:500}
.hero-badge p:last-child{font-size:0.82rem;font-weight:600;color:#0a3c32;font-family:'Inter',sans-serif}

/* ---- Section Headers ---- */
.section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:2rem}
.section-title{font-size:1.6rem;font-weight:700;color:#0a3c32}
.section-subtitle{font-size:0.8rem;color:rgba(10,60,50,0.55);margin-top:0.25rem;font-family:'Inter',sans-serif}
.section-link{font-size:0.8rem;color:#1c7a68;font-weight:500;display:flex;align-items:center;gap:0.3rem}
.section-link:hover{color:#0a3c32}

/* ---- Product Cards ---- */
.product-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.product-card{background:#fff;border-radius:0.75rem;border:1px solid rgba(28,122,104,0.08);overflow:hidden;transition:box-shadow .2s}
.product-card:hover{box-shadow:0 8px 30px rgba(10,60,50,0.08)}
.product-img-wrap{position:relative;display:block;overflow:hidden;background:#fefbed;aspect-ratio:1/1}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.product-card:hover .product-img-wrap img{transform:scale(1.05)}
.product-badges{position:absolute;top:0.75rem;left:0.75rem;display:flex;flex-wrap:wrap;gap:0.4rem}
.badge{display:inline-block;padding:0.25rem 0.6rem;background:#0a3c32;color:#fefbed;font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;border-radius:100px}
.quick-add{position:absolute;bottom:0.75rem;right:0.75rem;width:38px;height:38px;background:#d4af37;color:#0a3c32;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:all .25s;box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.product-card:hover .quick-add{opacity:1;transform:translateY(0)}
.quick-add:hover{background:#c9a430}
.product-info{padding:1rem}
.product-name{font-size:0.82rem;font-weight:600;color:#0a3c32;margin-bottom:0.2rem;display:block;font-family:'Inter',sans-serif}
.product-name:hover{color:#1c7a68}
.product-subtitle{font-size:0.68rem;color:rgba(10,60,50,0.45);margin-bottom:0.5rem}
.product-price-row{display:flex;align-items:center;gap:0.5rem}
.price{font-size:0.88rem;font-weight:700;color:#0a3c32}
.compare-price{font-size:0.72rem;color:rgba(10,60,50,0.35);text-decoration:line-through}

/* ---- Category Pills ---- */
.pills{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem}
.pill{padding:0.5rem 1rem;border-radius:100px;font-size:0.72rem;font-weight:500;transition:all .15s;border:1px solid rgba(28,122,104,0.12);color:rgba(10,60,50,0.65);background:#fff}
.pill:hover{background:rgba(10,60,50,0.04);color:#0a3c32}
.pill.active{background:#0a3c32;color:#fefbed;border-color:#0a3c32}

/* ---- Dark Section ---- */
.dark-section{background:#0a3c32;color:#fefbed;padding:4rem 0}
.dark-section .section-title{color:#fefbed;text-align:center;margin-bottom:0.75rem}
.dark-section .section-subtitle{color:rgba(254,251,237,0.6);text-align:center;max-width:600px;margin:0 auto 2.5rem;font-size:0.85rem;line-height:1.7}

/* ---- Trust Cards ---- */
.trust-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:800px;margin:0 auto}
.trust-card{text-align:center;padding:1.5rem}
.trust-icon{width:48px;height:48px;background:rgba(254,251,237,0.08);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;color:#d4af37}
.trust-card h4{font-size:0.85rem;margin-bottom:0.4rem;font-family:'Inter',sans-serif;font-weight:600}
.trust-card p{font-size:0.72rem;color:rgba(254,251,237,0.55);line-height:1.6}

/* ---- FAQ ---- */
.faq-item{background:#fff;border-radius:0.75rem;border:1px solid rgba(28,122,104,0.08);overflow:hidden;margin-bottom:0.75rem}
.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;text-align:left;font-size:0.82rem;font-weight:500;color:#0a3c32;font-family:'Inter',sans-serif}
.faq-question:hover{background:rgba(10,60,50,0.02)}
.faq-toggle{font-size:1.2rem;transition:transform .2s;color:rgba(10,60,50,0.4);flex-shrink:0;margin-left:0.75rem}
.faq-toggle.open{transform:rotate(45deg)}
.faq-answer{padding:0 1.25rem 1rem;font-size:0.78rem;color:rgba(10,60,50,0.6);line-height:1.7;display:none}
.faq-answer.open{display:block}

/* ---- Forms ---- */
.form-group{margin-bottom:1rem}
.form-label{display:block;font-size:0.72rem;font-weight:500;color:#0a3c32;margin-bottom:0.4rem}
.form-input{width:100%;padding:0.65rem 0.9rem;border:1px solid rgba(28,122,104,0.15);border-radius:8px;font-size:0.82rem;color:#0a3c32;background:#fff;transition:border-color .15s}
.form-input::placeholder{color:rgba(10,60,50,0.3)}
.form-input:focus{outline:none;border-color:#1c7a68}
.form-input.error{border-color:#ef4444}
.error-msg{font-size:0.68rem;color:#ef4444;margin-top:0.3rem}
textarea.form-input{resize:vertical;min-height:100px}
select.form-input{cursor:pointer}
.form-card{background:#fff;border-radius:0.75rem;border:1px solid rgba(28,122,104,0.08);padding:1.5rem}

/* ---- Checkbox ---- */
.checkbox-wrap{display:flex;align-items:flex-start;gap:0.75rem;cursor:pointer}
.checkbox-wrap input{margin-top:0.15rem;accent-color:#0a3c32;width:14px;height:14px;flex-shrink:0}
.checkbox-text{font-size:0.72rem;color:rgba(10,60,50,0.65);line-height:1.6}
.checkbox-text a{color:#1c7a68;text-decoration:underline}
.checkbox-text a:hover{color:#0a3c32}

/* ---- Shipping Options ---- */
.ship-option{display:flex;align-items:center;justify-content:space-between;padding:1rem;border:1.5px solid rgba(28,122,104,0.1);border-radius:10px;cursor:pointer;transition:all .15s;background:#fff;margin-bottom:0.5rem}
.ship-option:hover{border-color:rgba(28,122,104,0.25)}
.ship-option.selected{border-color:#0a3c32;background:rgba(10,60,50,0.03)}
.ship-option-left{display:flex;align-items:center;gap:0.75rem}
.ship-option input{accent-color:#0a3c32}
.ship-name{font-size:0.8rem;font-weight:500;color:#0a3c32}
.ship-desc{font-size:0.65rem;color:rgba(10,60,50,0.45)}
.ship-price{font-size:0.85rem;font-weight:600;color:#0a3c32}

/* ---- Order Summary ---- */
.summary-card{background:#fff;border-radius:0.75rem;border:1px solid rgba(28,122,104,0.08);padding:1.25rem;position:sticky;top:90px}
.summary-item{display:flex;gap:0.75rem;padding:0.75rem 0;border-bottom:1px solid rgba(28,122,104,0.06)}
.summary-item:last-child{border-bottom:none}
.summary-img{width:56px;height:56px;object-fit:cover;border-radius:6px;flex-shrink:0}
.summary-details{flex:1;min-width:0}
.summary-name{font-size:0.75rem;font-weight:500;color:#0a3c32;display:block;margin-bottom:0.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-sku{font-size:0.6rem;color:rgba(10,60,50,0.4)}
.summary-qty{position:absolute;top:-6px;right:-6px;background:#0a3c32;color:#fefbed;font-size:0.55rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.summary-img-wrap{position:relative;flex-shrink:0}
.summary-price{font-size:0.8rem;color:#0a3c32;font-weight:500;white-space:nowrap}
.summary-row{display:flex;justify-content:space-between;padding:0.4rem 0;font-size:0.78rem}
.summary-row.border-t{border-top:1px solid rgba(28,122,104,0.1);margin-top:0.5rem;padding-top:0.75rem}
.summary-total{font-weight:700;font-size:0.9rem}

/* ---- Cart Drawer ---- */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:200;display:none}
.cart-overlay.open{display:block}
.cart-drawer{position:fixed;top:0;right:0;height:100%;width:100%;max-width:420px;background:#fefbed;z-index:201;transform:translateX(100%);transition:transform .3s;box-shadow:-10px 0 40px rgba(0,0,0,0.1);display:flex;flex-direction:column}
.cart-drawer.open{transform:translateX(0)}
.cart-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(28,122,104,0.1)}
.cart-header h3{font-size:1.1rem;color:#0a3c32;font-family:'Playfair Display',serif}
.cart-close{padding:0.4rem;color:#0a3c32;border-radius:6px}
.cart-close:hover{background:rgba(10,60,50,0.05)}
.cart-body{flex:1;overflow-y:auto;padding:1.25rem}
.cart-empty{text-align:center;padding:4rem 1rem}
.cart-empty svg{color:rgba(28,122,104,0.15);margin-bottom:1rem}
.cart-empty p{color:rgba(10,60,50,0.45);font-size:0.8rem;margin-bottom:0.5rem}
.cart-item{display:flex;gap:0.75rem;padding:0.75rem;background:#fff;border-radius:10px;border:1px solid rgba(28,122,104,0.06);margin-bottom:0.75rem}
.cart-item-img{width:72px;height:72px;object-fit:cover;border-radius:8px;flex-shrink:0}
.cart-item-details{flex:1;min-width:0}
.cart-item-name{font-size:0.75rem;font-weight:500;color:#0a3c32;margin-bottom:0.1rem;display:block}
.cart-item-sku{font-size:0.6rem;color:rgba(10,60,50,0.4);margin-bottom:0.3rem}
.cart-item-price{font-size:0.8rem;font-weight:600;color:#0a3c32}
.qty-row{display:flex;align-items:center;gap:0.5rem;margin-top:0.5rem}
.qty-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(28,122,104,0.15);border-radius:5px;color:#0a3c32;font-size:0.8rem}
.qty-btn:hover{background:rgba(10,60,50,0.04)}
.qty-val{font-size:0.78rem;font-weight:600;color:#0a3c32;width:20px;text-align:center}
.remove-btn{margin-left:auto;font-size:0.65rem;color:rgba(10,60,50,0.35);text-decoration:underline}
.remove-btn:hover{color:#ef4444}
.cart-footer{border-top:1px solid rgba(28,122,104,0.1);padding:1.25rem}
.cart-note{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.65rem;color:rgba(10,60,50,0.5);background:rgba(10,60,50,0.04);padding:0.75rem;border-radius:8px;margin-bottom:1rem}

/* ---- Chat Widget ---- */
.chat-btn{position:fixed;bottom:20px;right:20px;width:56px;height:56px;background:#0a3c32;color:#fefbed;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(10,60,50,0.25);z-index:150;transition:background .2s}
.chat-btn:hover{background:rgba(10,60,50,0.88)}
.chat-window{position:fixed;bottom:88px;right:20px;width:360px;max-width:calc(100vw - 40px);background:#fefbed;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,0.15);border:1px solid rgba(28,122,104,0.1);z-index:150;display:none;flex-direction:column;overflow:hidden}
.chat-window.open{display:flex}
.chat-header{background:#0a3c32;color:#fefbed;padding:0.9rem 1rem}
.chat-header h4{font-size:0.85rem;font-weight:600;font-family:'Inter',sans-serif}
.chat-header p{font-size:0.65rem;color:rgba(254,251,237,0.55);margin-top:0.15rem}
.chat-body{height:300px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:0.75rem}
.chat-msg{max-width:82%;padding:0.65rem 0.85rem;border-radius:16px;font-size:0.78rem;line-height:1.55}
.chat-msg.agent{background:rgba(10,60,50,0.06);color:rgba(10,60,50,0.85);border-bottom-left-radius:4px;align-self:flex-start}
.chat-msg.user{background:#0a3c32;color:#fefbed;border-bottom-right-radius:4px;align-self:flex-end}
.chat-quick{padding:0.75rem 1rem;display:flex;flex-wrap:wrap;gap:0.4rem}
.chat-quick-btn{padding:0.4rem 0.65rem;background:rgba(10,60,50,0.05);border-radius:8px;font-size:0.65rem;color:#0a3c32;display:flex;align-items:center;gap:0.3rem;transition:background .15s;border:none}
.chat-quick-btn:hover{background:rgba(10,60,50,0.1)}
.chat-footer2{border-top:1px solid rgba(28,122,104,0.08);padding:0.75rem 1rem}
.chat-form{display:flex;gap:0.5rem}
.chat-input{flex:1;padding:0.55rem 0.75rem;border:1px solid rgba(28,122,104,0.15);border-radius:8px;font-size:0.75rem;color:#0a3c32}
.chat-input::placeholder{color:rgba(10,60,50,0.3)}
.chat-input:focus{outline:none;border-color:#1c7a68}
.chat-send{padding:0.55rem;background:#0a3c32;color:#fefbed;border-radius:8px;transition:opacity .15s}
.chat-send:disabled{opacity:0.4;cursor:not-allowed}
.chat-email-note{font-size:0.6rem;color:rgba(10,60,50,0.35);text-align:center;margin-top:0.4rem;display:flex;align-items:center;justify-content:center;gap:0.3rem}
.typing{display:flex;gap:0.25rem;padding:0.65rem 0.85rem;background:rgba(10,60,50,0.06);border-radius:16px;border-bottom-left-radius:4px;align-self:flex-start}
.typing span{width:7px;height:7px;background:rgba(10,60,50,0.2);border-radius:50%;animation:typingBounce 1s infinite}
.typing span:nth-child(2){animation-delay:0.15s}
.typing span:nth-child(3){animation-delay:0.3s}
@keyframes typingBounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-4px)}}

/* ---- Footer ---- */
.site-footer{background:#0a3c32;color:#fefbed;padding:4rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:2.5rem}
.footer-brand p{font-size:0.78rem;color:rgba(254,251,237,0.55);line-height:1.7;margin-top:0.75rem}
.footer-contact{font-size:0.72rem;color:rgba(254,251,237,0.45);margin-top:1rem}
.footer-contact-item{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.4rem}
.footer-contact-item svg{width:14px;height:14px;flex-shrink:0}
.footer-contact a{color:rgba(254,251,237,0.55);transition:color .15s}
.footer-contact a:hover{color:#d4af37}
.footer-col h4{font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:#d4af37;margin-bottom:1rem;font-family:'Inter',sans-serif}
.footer-col a{display:block;font-size:0.75rem;color:rgba(254,251,237,0.5);margin-bottom:0.55rem;transition:color .15s}
.footer-col a:hover{color:#fefbed}
.footer-bottom{border-top:1px solid rgba(254,251,237,0.08);padding-top:1.5rem;text-align:center}
.footer-bottom p{font-size:0.6rem;color:rgba(254,251,237,0.35);margin-bottom:0.4rem}
.footer-bottom p strong{color:rgba(254,251,237,0.6)}

/* ---- Page Headers ---- */
.page-header{padding:2.5rem 0 0}
.page-title{font-size:2rem;font-weight:700;color:#0a3c32;margin-bottom:0.3rem}
.page-subtitle{font-size:0.78rem;color:rgba(10,60,50,0.5)}
.breadcrumb{font-size:0.65rem;color:rgba(10,60,50,0.4);margin-bottom:1.5rem}
.breadcrumb a:hover{color:#0a3c32}

/* ---- Product Detail ---- */
.pd-grid{display:grid;gap:2.5rem}
.pd-image{background:#fff;border-radius:0.75rem;overflow:hidden;border:1px solid rgba(28,122,104,0.08)}
.pd-image img{width:100%;aspect-ratio:1/1;object-fit:cover}
.pd-badges{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.75rem}
.pd-name{font-size:1.6rem;font-weight:700;color:#0a3c32;margin-bottom:0.3rem}
.pd-subtitle{font-size:0.82rem;color:rgba(10,60,50,0.55);margin-bottom:1rem}
.pd-price-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem}
.pd-price{font-size:1.5rem;font-weight:700;color:#0a3c32}
.pd-compare{font-size:0.9rem;color:rgba(10,60,50,0.35);text-decoration:line-through}
.pd-desc{font-size:0.82rem;color:rgba(10,60,50,0.65);line-height:1.7;margin-bottom:1rem}
.pd-sku{font-size:0.65rem;color:rgba(10,60,50,0.4);margin-bottom:1.25rem}
.pd-qty-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:1.25rem}
.pd-trust{font-size:0.68rem;color:rgba(10,60,50,0.45);display:flex;align-items:flex-start;gap:0.4rem;margin-bottom:0.4rem}
.pd-trust svg{flex-shrink:0;margin-top:0.1rem;width:14px;height:14px}

/* ---- Tabs ---- */
.tabs{border-bottom:1px solid rgba(28,122,104,0.1);display:flex;gap:0}
.tab-btn{padding:0.75rem 1.25rem;font-size:0.78rem;font-weight:500;color:rgba(10,60,50,0.45);border-bottom:2px solid transparent;transition:all .15s;font-family:'Inter',sans-serif;background:none;border:none;border-radius:0;margin-bottom:-1px}
.tab-btn:hover{color:rgba(10,60,50,0.7)}
.tab-btn.active{color:#0a3c32;border-bottom-color:#0a3c32}
.tab-panel{padding:1.5rem 0;display:none}
.tab-panel.active{display:block}
.tab-panel h4{font-size:0.82rem;font-weight:600;color:#0a3c32;margin-bottom:0.6rem;font-family:'Inter',sans-serif}
.tab-panel p{font-size:0.78rem;color:rgba(10,60,50,0.6);line-height:1.7;margin-bottom:0.75rem}
.tab-panel ul{list-style:none;margin-bottom:0.75rem}
.tab-panel li{display:flex;align-items:flex-start;gap:0.5rem;font-size:0.78rem;color:rgba(10,60,50,0.6);margin-bottom:0.5rem;line-height:1.5}
.tab-panel li svg{flex-shrink:0;margin-top:0.2rem;color:#1c7a68;width:14px;height:14px}

/* ---- Notice Box ---- */
.notice-box{background:rgba(10,60,50,0.04);border-radius:8px;padding:1rem;margin-bottom:1rem}
.notice-box p{font-size:0.72rem;color:rgba(10,60,50,0.55);line-height:1.6}

/* ---- Alert ---- */
.alert-danger{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1rem}
.alert-danger p{font-size:0.78rem;color:#991b1b}

/* ---- Email Section ---- */
.email-section{padding:3rem 0;background:#fff;border-top:1px solid rgba(28,122,104,0.06)}
.email-section h2{font-size:1.3rem;text-align:center;margin-bottom:0.4rem}
.email-section > .container > p{text-align:center;font-size:0.78rem;color:rgba(10,60,50,0.55);margin-bottom:1.5rem}
.email-form{max-width:500px;margin:0 auto;display:flex;gap:0.5rem}
.email-form input{flex:1}

/* ---- Success Message ---- */
.success-msg{text-align:center;padding:2rem}
.success-icon{width:56px;height:56px;background:rgba(28,122,104,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;color:#1c7a68}

/* ---- Legal Pages ---- */
.legal-content h2{font-size:1.1rem;font-weight:700;color:#0a3c32;margin:1.5rem 0 0.6rem;font-family:'Inter',sans-serif}
.legal-content p{font-size:0.78rem;color:rgba(10,60,50,0.65);line-height:1.8;margin-bottom:0.6rem}
.legal-content ul,.legal-content ol{margin:0.5rem 0 0.75rem 1.25rem}
.legal-content ul li,.legal-content ol li{font-size:0.78rem;color:rgba(10,60,50,0.65);line-height:1.8;margin-bottom:0.25rem}
.legal-content a{color:#1c7a68;text-decoration:underline}
.legal-content a:hover{color:#0a3c32}
.legal-callout{background:rgba(28,122,104,0.08);border:1px solid rgba(28,122,104,0.15);border-radius:8px;padding:1rem;margin:1rem 0}
.legal-callout p{font-size:0.78rem;color:#0a3c32;margin:0}
.legal-callout.danger{background:#fef2f2;border-color:#fecaca}
.legal-callout.danger p{color:#991b1b}

/* ---- Tracking Timeline ---- */
.timeline-item{display:flex;gap:1rem}
.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:0.8rem}
.timeline-icon.done{background:#1c7a68;color:#fefbed}
.timeline-icon.pending{background:rgba(28,122,104,0.08);color:rgba(10,60,50,0.25)}
.timeline-line{width:2px;height:40px;margin-left:15px}
.timeline-line.done{background:#1c7a68}
.timeline-line.pending{background:rgba(28,122,104,0.08)}
.timeline-content{padding-top:0.2rem}
.timeline-content h5{font-size:0.78rem;font-weight:600;color:#0a3c32;font-family:'Inter',sans-serif}
.timeline-content p{font-size:0.68rem;color:rgba(10,60,50,0.45);margin-top:0.1rem}

/* ---- Blockquote ---- */
.blockquote{background:#fff;border:1px solid rgba(28,122,104,0.08);border-radius:0.75rem;padding:1.5rem;margin:1.5rem 0}
.blockquote p{font-size:1.1rem;font-style:italic;color:#0a3c32;line-height:1.6;font-family:'Playfair Display',serif}

/* ---- White Cards ---- */
.white-card{background:#fff;border-radius:0.75rem;border:1px solid rgba(28,122,104,0.08);padding:1.25rem}

/* ---- Value Cards Grid ---- */
.value-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin:1.5rem 0}
.value-card{background:#fff;border:1px solid rgba(28,122,104,0.08);border-radius:0.75rem;padding:1.25rem;text-align:center}
.value-icon{width:40px;height:40px;background:rgba(10,60,50,0.06);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;color:#0a3c32}
.value-card h4{font-size:0.8rem;font-weight:600;color:#0a3c32;margin-bottom:0.3rem;font-family:'Inter',sans-serif}
.value-card p{font-size:0.68rem;color:rgba(10,60,50,0.5);line-height:1.55}

/* ---- CTA Box ---- */
.cta-box{background:#0a3c32;border-radius:0.75rem;padding:1.5rem;text-align:center;margin-top:2rem}
.cta-box p{color:rgba(254,251,237,0.85);font-size:0.85rem;margin-bottom:1rem}
.cta-box .btn-primary{background:#d4af37;color:#0a3c32;border-color:#d4af37}
.cta-box .btn-primary:hover{background:rgba(212,175,55,0.88)}

/* ---- Related Products ---- */
.related-section{padding:2.5rem 0}

/* ---- Utilities ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mt-2{margin-top:0.5rem}
.mt-3{margin-top:0.75rem}
.mt-4{margin-top:1rem}
.text-center{text-align:center}
.text-sm{font-size:0.8rem}
.text-xs{font-size:0.68rem}
.text-muted{color:rgba(10,60,50,0.5)}

/* ---- Responsive ---- */
@media(min-width:640px){
.hero-title{font-size:2.8rem}
.product-grid{grid-template-columns:repeat(2,1fr)}
.trust-grid{grid-template-columns:repeat(3,1fr)}
.value-grid{grid-template-columns:repeat(3,1fr)}
.footer-grid{grid-template-columns:repeat(2,1fr)}
}

@media(min-width:768px){
.hero-title{font-size:3.2rem}
.hero-grid{grid-template-columns:1fr 1fr}
.section-title{font-size:1.8rem}
.page-title{font-size:2.4rem}
.pd-grid{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1fr}
.email-section h2{font-size:1.5rem}
}

@media(min-width:1024px){
.desktop-nav{display:flex}
.menu-toggle{display:none}
.product-grid{grid-template-columns:repeat(3,1fr)}
.hero{padding:4rem 0 5rem}
.hero-title{font-size:3.6rem}
}

@media(min-width:1280px){
.product-grid{grid-template-columns:repeat(4,1fr)}
.container{padding:0 1.5rem}
}

@media(max-width:639px){
.cart-drawer{max-width:100%}
.chat-window{width:calc(100vw - 40px)}
}

/* ---- Billing Address ---- */
.billing-section .form-card {
  display: block;
}
.billing-section.hidden .form-card {
  display: none;
}
.billing-toggle {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: rgba(10,60,50,0.03);
  border-radius: 8px;
  border: 1px solid rgba(28,122,104,0.08);
}
.billing-toggle input {
  accent-color: #0a3c32;
  width: 16px;
  height: 16px;
}
.billing-toggle label {
  font-size: 0.82rem;
  font-weight: 500;
  color: #0a3c32;
  cursor: pointer;
}
