:root{
  --cream:#F7F3E9;
  --cream-deep:#EDE6D3;
  --beige:#D9C48A;
  --brown:#15120D;
  --brown-soft:#4A4038;
  --green:#B8862E;
  --green-deep:#15120D;
  --gold:#C9962E;
  --gold-light:#EBCB76;
  --ink:#0C0A08;
  --shadow: 0 20px 45px -20px rgba(15,12,9,0.4);
  --radius: 22px;
  
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;}
body{
  /* padding-top: 85px; */
  margin-top:80px;
  font-family:'Manrope',sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden;width:100%;max-width:100vw;}
img,svg,video,iframe,table{max-width:100%;}
/* Flex/grid children default to min-width:auto, which lets oversized content
   (e.g. a button with a fixed min-width) force its column wider than its
   allotted share and break the whole row on mobile. This resets that. */
.row,.container,[class*="col-"]{min-width:0;}
h1,h2,h3,h4,.font-display{font-family:'Fraunces',serif;color:var(--brown);letter-spacing:-0.01em;}
.eyebrow{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--gold);font-weight:700;}
a{text-decoration:none;}
.section-pad{padding:5.5rem 0;}
@media(max-width:767px){.section-pad{padding:3.4rem 0;}}
.section-heading{margin-bottom:2.8rem;}

.btn-shell{
  background:var(--brown);color:var(--cream);border:1px solid var(--brown);
  border-radius:100px;padding:.85rem 2.1rem;font-weight:600;font-size:.95rem;letter-spacing:.02em;
  transition:.35s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
}
.btn-shell:hover{background:var(--gold);border-color:var(--gold);color:var(--brown);transform:translateY(-3px);box-shadow:0 14px 30px -10px rgba(200,150,46,.5);}
.btn-shell:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.btn-outline-shell{
  background:transparent;color:var(--brown);border:1.5px solid var(--brown);border-radius:100px;
  padding:.8rem 2rem;font-weight:600;font-size:.95rem;transition:.35s;display:inline-flex;align-items:center;gap:.5rem;
}
.btn-outline-shell:hover{background:var(--brown);color:var(--cream);transform:translateY(-3px);}

/* ===== TOP BAR + NAV ===== */
.topbar{background:var(--brown);color:var(--cream-deep);font-size:.8rem;padding:.45rem 0;}
.topbar a{color:var(--cream-deep);}
.topbar .divider{opacity:.35;margin:0 .6rem;}
.topbar .social a{margin-left:.9rem;color:var(--gold-light);}

.navbar-iacoms{background:rgba(247,243,233,0.92);backdrop-filter:blur(10px);padding:.9rem 0;border-bottom:1px solid rgba(21,18,13,0.08);transition:.3s;}
.navbar-iacoms.scrolled{padding:.5rem 0;box-shadow:0 8px 30px -18px rgba(15,12,9,.4);}
.brand-mark{font-family:'Fraunces',serif;font-weight:700;font-size:1.6rem;color:var(--brown);letter-spacing:.02em;display:inline-flex;align-items:center;gap:.65rem;}
.brand-mark span{color:var(--gold);}
.brand-logo-img{height:44px;width:auto;border-radius:9px;background:#fff;padding:2px;display:block;}
.brand-tagline{font-family:'Space Mono',monospace;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);margin-top:.15rem;}
.nav-links .nav-link{color:var(--brown-soft);font-weight:600;font-size:.92rem;margin:0 .85rem;position:relative;padding:.3rem 0 !important;}
.nav-links .nav-link.active-page{color:var(--brown);}
.nav-links .nav-link::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:.3s;}
.nav-links .nav-link:hover::after,.nav-links .nav-link.active-page::after{width:100%;}
.nav-icon{color:var(--brown);font-size:1.05rem;margin-left:1.15rem;position:relative;cursor:pointer;transition:.25s;}
.nav-icon:hover{color:var(--gold);transform:translateY(-2px);}
.cart-badge{position:absolute;top:-8px;right:-10px;background:var(--gold);color:var(--brown);font-family:'Space Mono',monospace;font-size:.62rem;font-weight:700;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.cart-badge.pulse{animation:pulseBadge .5s ease;}
@keyframes pulseBadge{0%{transform:scale(1);}50%{transform:scale(1.6);}100%{transform:scale(1);}}

.shell-divider{width:100%;height:70px;display:block;}
.shell-divider svg{width:100%;height:100%;}

/* ===== PAGE HEADER (shop/collections) ===== */
.page-header{background:var(--brown);padding:2.6rem 0;}
.breadcrumb-shop{font-family:'Space Mono',monospace;font-size:.75rem;letter-spacing:.08em;color:var(--gold-light);margin-bottom:.5rem;}
.breadcrumb-shop a{color:var(--cream-deep);}
.breadcrumb-shop a:hover{color:var(--gold-light);}
.page-header h1{color:var(--cream);font-size:clamp(1.8rem,3.2vw,2.6rem);margin-bottom:0;}

/* ===== FULL-BLEED HERO (home/about/quality/contact/collections) ===== */
.hero-eyebrow{font-family:'Space Mono',monospace;letter-spacing:.25em;font-size:.75rem;color:var(--gold-light);font-weight:700;text-transform:uppercase;}
.hero h1{font-size:clamp(2.4rem,4.8vw,4.1rem);line-height:1.05;font-weight:600;margin:1rem 0 1.2rem;color:var(--cream);}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero p.lead-text{font-size:1.1rem;color:var(--cream-deep);max-width:540px;line-height:1.7;}
.trust-strip{display:flex;flex-wrap:wrap;gap:1.8rem;margin-top:2.3rem;}
.trust-strip .item{font-size:.88rem;font-weight:700;color:var(--cream-deep);display:flex;align-items:center;gap:.5rem;}
.trust-strip .item i{color:var(--gold-light);}

.hero{position:relative;overflow:hidden;padding:0;}
.hero-carousel{min-height:90vh;}
.hero-slide{position:relative;min-height:90vh;display:flex;align-items:center;}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,8,6,.88) 0%, rgba(10,8,6,.62) 38%, rgba(10,8,6,.2) 68%, rgba(10,8,6,.05) 100%);z-index:1;}
.hero-slide .container{position:relative;z-index:2;}
.hero-arrow{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;color:var(--cream);backdrop-filter:blur(4px);transition:.25s;}
.hero-arrow:hover{background:var(--gold);border-color:var(--gold);color:var(--brown);}
.carousel-control-prev,.carousel-control-next{width:70px;opacity:1;z-index:3;}
.hero-indicators{position:absolute;bottom:2.2rem;left:0;right:0;margin:0;display:flex;justify-content:center;gap:.5rem;z-index:3;}
.hero-indicators button{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.5);border:none;opacity:1;transition:.3s;}
.hero-indicators button.active{width:26px;border-radius:100px;background:var(--gold-light);}
@media(max-width:767px){.hero-carousel,.hero-slide{min-height:78vh;}}

.page-hero{position:relative;min-height:48vh;display:flex;align-items:center;overflow:hidden;}
.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.page-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,8,6,.9) 0%, rgba(10,8,6,.68) 42%, rgba(10,8,6,.28) 75%, rgba(10,8,6,.08) 100%);z-index:1;}
.page-hero .container{position:relative;z-index:2;}
.breadcrumb-about{font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.08em;color:var(--gold-light);margin-bottom:1rem;}
.breadcrumb-about a{color:var(--cream-deep);}
.breadcrumb-about a:hover{color:var(--gold-light);}
.page-hero h1{color:var(--cream);font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.08;margin-bottom:.9rem;}
.page-hero h1 em{font-style:italic;color:var(--gold-light);}
.page-hero p{color:var(--cream-deep);max-width:580px;font-size:1.05rem;line-height:1.7;}

/* ===== CATEGORY GRID ===== */
.cat-card{text-align:center;cursor:pointer;}
.cat-img{width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow);position:relative;border:5px solid var(--cream);}
.cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.cat-card:hover .cat-img img{transform:scale(1.15) rotate(2deg);}
.cat-card h6{margin-top:1.1rem;font-size:1rem;}
.cat-card .shop-link{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.1em;color:var(--gold);font-weight:700;text-transform:uppercase;}
.cat-card.active .cat-img{outline:3px solid var(--gold);outline-offset:4px;}

/* ===== FILTER PILLS / SIDEBAR ===== */
.filter-pills .pill{border:1.5px solid var(--brown-soft);color:var(--brown-soft);background:transparent;border-radius:100px;padding:.5rem 1.25rem;font-size:.85rem;font-weight:700;margin:.25rem;transition:.25s;}
.filter-pills .pill.active,.filter-pills .pill:hover{background:var(--brown);color:var(--cream);border-color:var(--brown);}
.filter-box{background:#fff;border-radius:var(--radius);padding:1.8rem;box-shadow:0 10px 26px -20px rgba(15,12,9,.3);margin-bottom:1.5rem;}
.filter-box h6{font-family:'Space Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--brown);margin-bottom:1rem;}
.filter-check{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem;cursor:pointer;font-size:.9rem;color:var(--brown-soft);}
.filter-check input{accent-color:var(--gold);width:16px;height:16px;}
.filter-check .count{font-family:'Space Mono',monospace;font-size:.72rem;color:#a3897a;}
.price-range{width:100%;accent-color:var(--gold);}
.price-value{font-family:'Space Mono',monospace;font-size:.85rem;color:var(--brown);font-weight:700;}
.rating-filter .stars-opt{cursor:pointer;color:var(--gold);font-size:.85rem;margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem;}
.rating-filter input{accent-color:var(--gold);}
.clear-filters{font-size:.82rem;font-weight:700;color:var(--brown-soft);text-decoration:underline;cursor:pointer;background:none;border:none;}
.clear-filters:hover{color:var(--gold);}

.shop-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;background:#fff;border-radius:16px;padding:.9rem 1.4rem;margin-bottom:1.8rem;box-shadow:0 8px 22px -18px rgba(15,12,9,.3);}
.result-count{font-size:.88rem;color:var(--brown-soft);font-weight:600;}
.toolbar-right{display:flex;align-items:center;gap:.9rem;}
.sort-select{border:1.5px solid var(--brown-soft);border-radius:100px;padding:.45rem 1.1rem;background:var(--cream);font-size:.82rem;font-weight:600;color:var(--brown-soft);}
.view-toggle{display:flex;gap:.4rem;}
.view-toggle button{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--brown-soft);background:transparent;color:var(--brown-soft);display:flex;align-items:center;justify-content:center;transition:.25s;}
.view-toggle button.active,.view-toggle button:hover{background:var(--brown);color:var(--cream);border-color:var(--brown);}

/* ===== PRODUCT CARDS ===== */
.product-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 14px 35px -22px rgba(15,12,9,.4);transition:.4s;height:100%;border:1px solid rgba(21,18,13,.06);}
.product-card:hover{transform:translateY(-8px);box-shadow:0 26px 50px -20px rgba(15,12,9,.35);}
.product-img-wrap{position:relative;aspect-ratio:4/3.4;overflow:hidden;}
.product-img-wrap img{width:100%;height:100%;object-fit:cover;transition:.6s;}
.product-card:hover .product-img-wrap img{transform:scale(1.08);}
.badge-tag{position:absolute;top:14px;left:14px;font-family:'Space Mono',monospace;font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.35rem .7rem;border-radius:100px;color:#fff;}
.badge-best{background:var(--brown);}
.badge-new{background:var(--green);}
.badge-off{background:#B84A3E;}
.wish-btn{position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--brown);transition:.25s;border:none;}
.wish-btn:hover{background:var(--gold);color:#fff;}
.wish-btn.active{color:#B84A3E;}
.qv-btn{position:absolute;bottom:12px;left:50%;transform:translate(-50%,140%);background:var(--brown);color:var(--cream);border:none;border-radius:100px;padding:.5rem 1.1rem;font-size:.78rem;font-weight:600;transition:.35s;white-space:nowrap;}
.product-img-wrap:hover .qv-btn{transform:translate(-50%,0);}
.product-body{padding:1.2rem 1.3rem 1.4rem;}
.stars i{color:var(--gold);font-size:.78rem;}
.product-title{font-size:1.02rem;font-weight:700;margin:.5rem 0 .3rem;color:var(--brown);}
.price-row{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.8rem;}
.price-old{text-decoration:line-through;color:#a3897a;font-size:.85rem;}
.price-new{font-family:'Space Mono',monospace;font-weight:700;font-size:1.15rem;color:var(--brown);}
.qty-selector{display:flex;align-items:center;border:1.5px solid var(--brown-soft);border-radius:100px;overflow:hidden;width:fit-content;}
.qty-selector button{background:none;border:none;width:32px;height:32px;color:var(--brown);font-weight:700;}
.qty-selector span{width:30px;text-align:center;font-family:'Space Mono',monospace;font-weight:700;font-size:.85rem;}

.products-wrap.list-view .product-item{width:100%;flex:0 0 100%;max-width:100%;}
.products-wrap.list-view .product-card{display:flex;flex-direction:row;align-items:stretch;}
.products-wrap.list-view .product-img-wrap{width:220px;flex:none;aspect-ratio:auto;}
.products-wrap.list-view .product-body{flex:1;display:flex;flex-direction:column;justify-content:center;}
.products-wrap.list-view .add-cart-row{max-width:260px;}
@media(max-width:640px){
  
  .products-wrap.list-view .product-card{flex-direction:column;}
  .products-wrap.list-view .product-img-wrap{width:100%;aspect-ratio:4/3.4;}
}

/* ===== PAGINATION ===== */
.pagination-wrap{display:flex;justify-content:center;gap:.5rem;margin-top:2.6rem;flex-wrap:wrap;}
.page-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--brown-soft);background:#fff;color:var(--brown-soft);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;transition:.25s;}
.page-btn.active,.page-btn:hover{background:var(--brown);color:var(--cream);border-color:var(--brown);}
.page-btn.disabled{opacity:.4;pointer-events:none;}

/* ===== VALUE / WHY / CERT / PROCESS CARDS ===== */
.value-card,.why-card,.cert-card{background:#fff;border-radius:var(--radius);padding:2.1rem 1.7rem;height:100%;box-shadow:0 12px 30px -20px rgba(15,12,9,.3);transition:.35s;text-align:center;}
.value-card:hover,.why-card:hover,.cert-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px rgba(15,12,9,.35);}
.value-icon,.why-icon,.cert-icon,.info-icon{width:64px;height:64px;border-radius:50%;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;font-size:1.4rem;color:var(--brown);transition:.35s;}
.value-card:hover .value-icon,.why-card:hover .why-icon,.cert-card:hover .cert-icon,.info-card:hover .info-icon{background:var(--gold);color:#fff;transform:rotate(-8deg) scale(1.08);}
.info-card{background:#fff;border-radius:var(--radius);padding:2.1rem 1.7rem;height:100%;box-shadow:0 12px 30px -20px rgba(15,12,9,.3);transition:.35s;text-align:center;}
.info-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -18px rgba(15,12,9,.35);}
.info-card a{color:var(--brown-soft);font-weight:600;}
.info-card a:hover{color:var(--gold);}

.checkpoint{display:flex;gap:1.2rem;margin-bottom:2rem;}
.checkpoint-num{flex:none;width:52px;height:52px;border-radius:50%;background:var(--brown);color:var(--gold-light);font-family:'Space Mono',monospace;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1rem;}
.checkpoint h6{margin-bottom:.3rem;}

.process-card{text-align:center;padding:1.5rem;}
.process-num{width:56px;height:56px;border-radius:50%;background:var(--brown);color:var(--gold-light);font-family:'Space Mono',monospace;font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;}

/* ===== TIMELINE ===== */
.timeline{position:relative;max-width:760px;margin:0 auto;}
.timeline::before{content:'';position:absolute;left:24px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold-light),var(--gold),var(--gold-light));}
@media(min-width:768px){.timeline::before{left:50%;margin-left:-1px;}}
.timeline-item{position:relative;padding-left:64px;margin-bottom:2.6rem;}
@media(min-width:768px){
  .timeline-item{padding-left:0;width:50%;}
  .timeline-item:nth-child(odd){padding-right:3rem;text-align:right;}
  .timeline-item:nth-child(even){padding-left:3rem;margin-left:50%;}
}
.timeline-dot{position:absolute;left:14px;top:4px;width:22px;height:22px;border-radius:50%;background:var(--brown);border:4px solid var(--gold-light);}
@media(min-width:768px){
  .timeline-item:nth-child(odd) .timeline-dot{left:auto;right:-11px;}
  .timeline-item:nth-child(even) .timeline-dot{left:-11px;}
}
.timeline-year{font-family:'Space Mono',monospace;font-weight:700;color:var(--gold);font-size:.85rem;letter-spacing:.08em;}
.timeline-card{background:#fff;border-radius:16px;padding:1.3rem 1.5rem;margin-top:.5rem;box-shadow:0 10px 26px -18px rgba(15,12,9,.35);}

/* ===== STATS ===== */
.stat-strip{background:var(--brown);border-radius:32px;color:var(--cream);padding:3.2rem 2rem;}
.stat-item{text-align:center;}
.stat-item .num{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:700;color:var(--gold-light);}
.stat-item .lbl{font-size:.82rem;color:var(--cream-deep);font-weight:600;margin-top:.2rem;}

/* ===== TEAM ===== */
.team-img{border-radius:20px;overflow:hidden;aspect-ratio:1/1.05;box-shadow:0 16px 32px -18px rgba(15,12,9,.35);}
.team-img img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.team-card:hover .team-img img{transform:scale(1.08);}
.team-card{text-align:center;}
.team-card h5{margin-top:1.1rem;margin-bottom:.15rem;}
.team-role{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:700;}

/* ===== COMPARISON TABLE ===== */
.compare-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 36px -22px rgba(15,12,9,.35);}
.compare-table th,.compare-table td{padding:1rem 1.3rem;font-size:.92rem;border-bottom:1px solid var(--cream-deep);}
.compare-table thead th{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;background:var(--brown);color:var(--cream);border-bottom:none;}
.compare-table thead th:first-child{border-top-left-radius:var(--radius);}
.compare-table thead th:last-child{border-top-right-radius:var(--radius);}
.compare-table tbody tr:last-child td{border-bottom:none;}
.compare-table td.attr{font-weight:700;color:var(--brown);}
.compare-table td.yes{color:#3F6B32;font-weight:700;}
.compare-table td.no{color:#B84A3E;font-weight:600;}
.compare-table .col-iacoms{background:var(--cream-deep);}
.add-cart-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  margin-top:.9rem;
  flex-wrap:wrap;
}
.add-cart-btn{
  background:var(--green-deep);
  color:#fff;
  border:none;
  border-radius:100px;
  padding:.55rem .8rem;
  font-size:.78rem;
  font-weight:700;
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  transition:.3s;
  white-space:normal;
  line-height:1.2;
  text-align:center;
}
.add-cart-btn:hover{ background:var(--gold); color:var(--brown); }
.add-cart-btn.flying{ animation:addPop .4s; }

.buy-now-btn{
  background:var(--gold);
  color:var(--brown);
  border:none;
  border-radius:100px;
  padding:.55rem .8rem;
  font-size:.78rem;
  font-weight:700;
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  transition:.3s;
  white-space:normal;
  line-height:1.2;
  text-align:center;
  text-decoration:none;
}
.buy-now-btn:hover{ background:var(--brown); color:var(--gold-light); }

/* ===== GIFT / CTA / SOCIAL BANNERS ===== */
.gift-section{background:var(--green-deep);border-radius:36px;color:var(--cream);padding:4rem 2.5rem;position:relative;overflow:hidden;}
.gift-section h2{color:var(--cream);}
.gift-tag{background:rgba(255,255,255,.08);border:1px solid rgba(235,203,118,.35);border-radius:100px;padding:.5rem 1.2rem;font-size:.82rem;font-weight:700;display:inline-block;margin:.25rem;}
.gift-img-stack img{border-radius:20px;box-shadow:0 25px 45px -15px rgba(0,0,0,.45);}

.cta-banner{position:relative;border-radius:32px;overflow:hidden;background:linear-gradient(120deg,var(--brown) 0%, #241d13 100%);color:var(--cream);padding:4rem 2.5rem;text-align:center;}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 20%, rgba(201,150,46,.25), transparent 55%);}
.cta-banner .content{position:relative;z-index:1;}
.cta-banner h2{color:var(--cream);}

.social-strip{background:var(--brown);border-radius:32px;color:var(--cream);padding:3rem 2rem;text-align:center;}
.social-strip h2{color:var(--cream);}
.social-strip .social-row{margin-top:1.6rem;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}
.social-strip .social-row a{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(235,203,118,.35);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-size:1.1rem;transition:.3s;}
.social-strip .social-row a:hover{background:var(--gold);color:var(--brown);transform:translateY(-4px);}

.promo-banner{position:relative;border-radius:32px;overflow:hidden;background:linear-gradient(120deg,var(--brown) 0%, var(--brown-soft) 100%);color:var(--cream);padding:4rem 3rem;}
@media(max-width:575px){.promo-banner{padding:2.2rem 1.3rem;border-radius:22px;}}
.promo-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 85% 20%, rgba(201,150,46,.35), transparent 55%);}
.promo-banner h2{color:var(--cream);}
.countdown{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.6rem;}
.countdown .box{background:rgba(255,255,255,.08);border:1px solid rgba(235,203,118,.4);border-radius:16px;padding:.9rem 1.3rem;text-align:center;min-width:80px;flex:1 1 68px;}
@media(max-width:575px){.countdown{gap:.6rem;}.countdown .box{min-width:0;padding:.6rem .5rem;flex-basis:calc(25% - .45rem);}.countdown .box .num{font-size:1.3rem;}}
.countdown .box .num{font-family:'Space Mono',monospace;font-size:1.8rem;font-weight:700;color:var(--gold-light);display:block;}
.countdown .box .lbl{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cream-deep);}

/* ===== ABOUT / STORY / FRESHNESS IMAGES ===== */
.story-img,.promise-img,.fresh-img,.journey-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.story-img img,.promise-img img,.fresh-img img,.journey-img img{width:100%;height:100%;object-fit:cover;display:block;}
.story-img-sm{border-radius:16px;overflow:hidden;box-shadow:0 18px 35px -18px rgba(15,12,9,.4);position:absolute;bottom:-2rem;right:-1.5rem;width:52%;border:6px solid var(--cream);}
.story-img-sm img{width:100%;display:block;}
.story-wrap,.promise-wrap{position:relative;margin-bottom:1.8rem;}
.promise-badge{position:absolute;bottom:-1.6rem;left:1.6rem;background:var(--brown);color:var(--cream);border-radius:18px;padding:1.1rem 1.5rem;box-shadow:0 16px 32px -16px rgba(15,12,9,.5);display:flex;align-items:center;gap:.8rem;max-width:280px;}
.promise-badge i{font-size:1.6rem;color:var(--gold-light);}
.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin-top:2rem;}
.counter-item .num{font-family:'Fraunces',serif;font-size:2.3rem;font-weight:700;color:var(--gold);}
.counter-item .lbl{font-size:.82rem;color:var(--brown-soft);font-weight:600;}

/* ===== TESTIMONIALS ===== */
.testi-card{background:#fff;border-radius:var(--radius);padding:2.5rem 2.2rem;text-align:center;max-width:640px;margin:0 auto;box-shadow:0 20px 40px -22px rgba(15,12,9,.35);}
.testi-avatar{width:70px;height:70px;border-radius:50%;object-fit:cover;border:3px solid var(--gold-light);margin:0 auto 1rem;}
.testi-card p{font-size:1.08rem;font-style:italic;color:var(--brown-soft);}

/* ===== GALLERY ===== */
.gallery-item{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:1/1;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:.5s;}
.gallery-overlay{position:absolute;inset:0;background:rgba(15,12,9,.55);display:flex;align-items:center;justify-content:center;opacity:0;transition:.35s;color:#fff;font-size:1.3rem;}
.gallery-item:hover img{transform:scale(1.12);}
.gallery-item:hover .gallery-overlay{opacity:1;}

/* ===== NEWSLETTER ===== */
.newsletter-box{background:var(--cream-deep);border-radius:32px;padding:3.5rem 2.5rem;text-align:center;}
.newsletter-form{max-width:460px;margin:1.6rem auto 0;display:flex;gap:.6rem;}
.newsletter-form input{flex:1;border-radius:100px;border:1.5px solid var(--brown-soft);padding:.75rem 1.3rem;background:#fff;}
.newsletter-success{color:var(--brown);font-weight:700;margin-top:1rem;display:none;}

/* ===== CONTACT FORM ===== */
.contact-form-wrap{background:#fff;border-radius:var(--radius);padding:2.6rem;box-shadow:0 20px 45px -25px rgba(15,12,9,.4);}
.form-control,.form-select{border:1.5px solid #E3D9C2;border-radius:14px;padding:.8rem 1.1rem;background:var(--cream);font-size:.95rem;}
.form-control:focus,.form-select:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,150,46,.15);background:#fff;}
label{font-weight:700;font-size:.85rem;color:var(--brown-soft);margin-bottom:.4rem;display:block;}
.form-success{background:var(--cream-deep);border:1px solid var(--gold-light);border-radius:14px;padding:1rem 1.2rem;color:var(--brown);font-weight:600;margin-top:1rem;}
.map-wrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);height:100%;min-height:340px;}
.map-wrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:grayscale(.15) contrast(1.05);}
.invalid-feedback{display:block;font-size:.78rem;}

/* ===== FAQ ===== */
.accordion-item{border:none;border-radius:16px !important;overflow:hidden;margin-bottom:.9rem;box-shadow:0 8px 22px -16px rgba(15,12,9,.3);}
.accordion-button{font-family:'Fraunces',serif;font-weight:600;color:var(--brown);background:#fff;padding:1.15rem 1.4rem;font-size:1.02rem;}
.accordion-button:not(.collapsed){background:var(--cream-deep);color:var(--brown);box-shadow:none;}
.accordion-button:focus{box-shadow:none;border-color:transparent;}
.accordion-body{background:#fff;color:var(--brown-soft);font-size:.92rem;padding:0 1.4rem 1.3rem;}

/* ===== FOOTER ===== */
footer{background:var(--ink);color:var(--cream-deep);padding:4rem 0 1.5rem;}
footer h6{font-family:'Space Mono',monospace;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--gold-light);margin-bottom:1.2rem;}
footer a{color:var(--cream-deep);opacity:.85;}
footer a:hover{color:var(--gold-light);opacity:1;}
footer ul{list-style:none;padding:0;}
footer ul li{margin-bottom:.6rem;font-size:.92rem;}
.footer-social a{display:inline-flex;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.06);align-items:center;justify-content:center;margin-right:.5rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.3rem;font-size:.82rem;text-align:center;opacity:.7;}

/* ===== MISC ===== */
.scroll-top{position:fixed;bottom:26px;right:26px;width:46px;height:46px;border-radius:50%;background:var(--brown);color:var(--cream);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.35s;z-index:999;border:none;}
.scroll-top.show{opacity:1;visibility:visible;}
.scroll-top:hover{background:var(--gold);}
.reveal{opacity:0;transform:translateY(28px);transition:.8s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.loader{position:fixed;inset:0;background:var(--cream);display:flex;align-items:center;justify-content:center;z-index:2000;transition:opacity .5s ease, visibility .5s ease;}
.loader.hide{opacity:0;visibility:hidden;}
.loader-shell{width:60px;height:60px;border:3px solid var(--cream-deep);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.modal-content{border-radius:24px;border:none;}
.offcanvas-filters .offcanvas-body{background:var(--cream);}
.was-validated .form-control:invalid, .form-control.is-invalid{border-color:#B84A3E;}
/* ===== CHECKOUT / PAYMENT PAGE ===== */
.checkout-topbar{background:#fff;border-bottom:1px solid var(--cream-deep);padding:1.1rem 0;}
.checkout-back{color:var(--brown);font-size:1.1rem;margin-right:.9rem;}
.checkout-title{font-family:'Fraunces',serif;font-weight:700;font-size:1.2rem;color:var(--brown);}
.secure-pill{background:var(--cream-deep);border-radius:100px;padding:.4rem .9rem;font-size:.78rem;font-weight:700;color:var(--brown-soft);display:inline-flex;align-items:center;gap:.4rem;}

.pm-list .pm-item{
  display:flex;align-items:center;gap:1rem;background:#fff;border:1.5px solid var(--cream-deep);
  border-radius:16px;padding:1rem 1.2rem;margin-bottom:1rem;cursor:pointer;transition:.25s;
}
.pm-list .pm-item:hover{border-color:var(--gold-light);}
.pm-list .pm-item.active{background:var(--cream-deep);border-color:var(--brown);}
.pm-list .pm-icon{width:38px;height:38px;border-radius:10px;background:var(--cream-deep);display:flex;align-items:center;justify-content:center;color:var(--brown);flex:none;}
.pm-list .pm-item.active .pm-icon{background:var(--brown);color:var(--gold-light);}
.pm-list .pm-title{font-weight:700;color:var(--brown);font-size:.95rem;}
.pm-list .pm-subtitle{font-size:.78rem;color:var(--brown-soft);}

.qr-panel{background:#fff;border-radius:var(--radius);box-shadow:0 16px 36px -22px rgba(15,12,9,.35);padding:2rem;text-align:center;}
.qr-amount-label{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown-soft);}
.qr-amount{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:700;color:var(--brown);margin-bottom:1.2rem;}
.qr-box{background:var(--cream);border:1.5px solid var(--cream-deep);border-radius:16px;padding:1.2rem;display:inline-block;}
#qrcodeCanvas{display:flex;align-items:center;justify-content:center;min-height:200px;min-width:200px;}
.qr-refresh-btn{margin-top:1rem;font-size:.8rem;padding:.55rem 1.3rem;}
.qr-apps{display:flex;justify-content:center;gap:.6rem;margin-top:1.2rem;}
.qr-apps .app-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;}
.qr-timer{font-size:.85rem;color:var(--brown-soft);margin-top:1.3rem;}
.qr-timer .mins{font-weight:700;color:var(--brown);}
.qr-progress{height:4px;background:var(--cream-deep);border-radius:10px;margin-top:.5rem;overflow:hidden;}
.qr-progress-bar{height:100%;background:var(--gold);border-radius:10px;transition:width 1s linear;}
.qr-note{font-size:.78rem;color:var(--brown-soft);margin-top:1.2rem;line-height:1.6;}
.demo-disclaimer{background:#FCEFC7;border:1px solid #E8C766;color:#5c4a12;border-radius:12px;padding:.7rem 1rem;font-size:.78rem;margin-top:1.2rem;text-align:left;}

.order-summary{background:var(--cream-deep);border-radius:var(--radius);padding:1.6rem;}
.order-summary .row-line{display:flex;justify-content:space-between;font-size:.92rem;padding:.5rem 0;color:var(--brown-soft);}
.order-summary .row-line.total{border-top:1px dashed #d8c9a3;margin-top:.4rem;padding-top:.8rem;font-weight:700;color:var(--brown);font-size:1.05rem;}
.order-summary .discount{color:#3F6B32;font-weight:700;}
.order-summary .section-toggle{font-weight:700;color:var(--brown);font-size:.9rem;cursor:pointer;}
.offer-banner{background:#E9F3E4;border:1px solid #BFE0AF;border-radius:14px;padding:1rem 1.1rem;margin-top:1.2rem;}
.offer-banner strong{color:#2F5323;}

/* ===== AUTH (LOGIN / REGISTER) PAGES ===== */
.auth-section{background:var(--brown);position:relative;overflow:hidden;min-height:calc(100vh - 140px);display:flex;align-items:center;padding:3.5rem 0;}
.auth-section::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 15% 20%, rgba(201,150,46,.18), transparent 45%),
             radial-gradient(circle at 85% 80%, rgba(201,150,46,.14), transparent 50%);
}
.auth-card{
  position:relative;z-index:1;background:#fff;border-radius:var(--radius);
  box-shadow:0 30px 60px -25px rgba(0,0,0,.5);max-width:460px;margin:0 auto;
  padding:2.6rem 2.4rem;
}
.auth-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1.6rem;}
.auth-logo img{height:40px;width:auto;border-radius:8px;background:#fff;padding:2px;}
.auth-title{text-align:center;margin-bottom:.4rem;}
.auth-subtitle{text-align:center;color:var(--brown-soft);font-size:.9rem;margin-bottom:1.8rem;}
.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.6rem 0;color:var(--brown-soft);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--cream-deep);}
.auth-switch{text-align:center;font-size:.9rem;color:var(--brown-soft);margin-top:1.6rem;}
.auth-switch a{color:var(--gold);font-weight:700;}
.auth-switch a:hover{text-decoration:underline;}
.auth-alert-error{background:#FBE7E4;border:1px solid #E9AFA6;color:#8A2E22;border-radius:12px;padding:.8rem 1rem;font-size:.85rem;margin-bottom:1.2rem;}
.password-field{position:relative;}
.password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--brown-soft);cursor:pointer;}
.remember-row{display:flex;align-items:center;justify-content:space-between;margin:.8rem 0 1.4rem;font-size:.85rem;}
.remember-row a{color:var(--brown-soft);}
.remember-row a:hover{color:var(--gold);}
@media(max-width:480px){.auth-card{padding:2rem 1.4rem;}}


.remove-cart-line{background:none;border:none;color:#B84A3E;font-size:.85rem;padding:.15rem;transition:.2s;}
.remove-cart-line:hover{color:#8A2E22;transform:scale(1.1);}
.cart-line{align-items:center;}

/* ===============================================================
   MOBILE RESPONSIVE FIX
   Root cause: .add-cart-btn / .buy-now-btn had min-width:110px each
   plus white-space:nowrap. On a ~360-390px phone, a col-6 (50%) product
   card only has ~150-170px of usable width after padding/gutters — less
   than the ~230px+ the two buttons need together. Flex children default
   to min-width:auto (their content size), so the card was forced wider
   than its column, pushing the whole grid row into horizontal overflow.
   That's the "content cut off on one side, blank space on the other"
   effect. Fix: let flex items actually shrink (min-width:0), and give
   product cards a full-width single column on phones so there's enough
   room for both buttons without cramming.
   =============================================================== */
html, body { max-width: 100%; overflow-x: hidden; }
.row { min-width: 0; }
.product-item, .product-card, .product-body, .product-img-wrap { min-width: 0; }
.add-cart-row { min-width: 0; }
.add-cart-btn, .buy-now-btn { min-width: 0; }

@media (max-width: 575.98px) {
  /* One product card per row on phones (was col-6 = two cramped cards) */
  .product-item { flex: 0 0 100% !important; max-width: 100% !important; }

  /* Stack Add to Cart / Buy Now instead of forcing them side-by-side */
  .add-cart-row { flex-direction: column; }
  .add-cart-btn, .buy-now-btn { width: 100%; white-space: normal; }

  .qty-selector { width: fit-content; }
}

/* Slightly denser 2-up grid still works fine from small-tablet width up,
   where there's enough room for both buttons side by side. */
@media (min-width: 576px) and (max-width: 767.98px) {
  .add-cart-btn, .buy-now-btn { font-size: .72rem; padding: .55rem .6rem; }
}

/* ===== WEIGHT SELECTOR (pill radios, no dot) ===== */
.weight-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;}
.weight-opt{position:relative;cursor:pointer;}
.weight-opt input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  margin:0;
  appearance:none;        /* kills the outer circle everywhere */
  -webkit-appearance:none;
}
.weight-opt span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  padding:.32rem .75rem;
  border:1.5px solid var(--brown-soft);
  border-radius:100px;
  font-family:'Space Mono',monospace;
  font-size:.75rem;
  font-weight:700;
  color:var(--brown-soft);
  background:transparent;
  transition:.22s;
  user-select:none;
}
.weight-opt input:hover + span{
  border-color:var(--gold);
  color:var(--brown);
}
.weight-opt input:checked + span{
  background:var(--brown);
  border-color:var(--brown);
  color:var(--cream);
}
.weight-opt input:focus-visible + span{
  outline:2px solid var(--gold);
  outline-offset:2px;
}

/* ---------- FLOATING ACTION BUTTONS ---------- */
.fab-stack{
  position:fixed; left:20px; bottom:22px; z-index:999;
  display:flex; flex-direction:column; gap:.7rem;
}
.fab{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-size:1.3rem; text-decoration:none;
  box-shadow:0 12px 26px rgba(0,0,0,.28);
  transition:transform .25s ease, box-shadow .25s ease;
}
.fab:hover{ transform:translateY(-4px) scale(1.05); color:var(--white); }
.fab-call{ background:var(--blue-deep); }
.fab-whatsapp{ background:#25D366; position:relative; }
.fab-whatsapp::before{
  content:""; position:absolute; inset:0; border-radius:50%;
  background:#25D366; opacity:.55;
  animation:fab-pulse 2.2s ease-out infinite;
}
@keyframes fab-pulse{
  0%{ transform:scale(1); opacity:.55; }
  100%{ transform:scale(1.9); opacity:0; }
}
#mainNav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 1030;
}
/* ===== MOBILE NAVBAR: MENU | CENTER LOGO | CART ===== */
@media (max-width: 991.98px) {
    #mainNav .container {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: nowrap;
        min-height: 48px;
    }

    /* Hamburger on the left */
 

    /* Center the logo */
    #mainNav .navbar-brand {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
        padding: 0;
        font-size: 1.15rem;
        gap: 5px;
        white-space: nowrap;
        z-index: 1;
    }

    #mainNav .brand-logo-img {
        height: 32px;
        width: auto;
    }

    /* Keep the cart on the right */
    #mainNav .navbar-collapse {
        display: flex !important;
        flex-basis: auto !important;
        flex-grow: 0 !important;
        width: auto !important;
        margin-left: auto !important;
        visibility: visible !important;
    }

     /* Hide navigation links while the menu is closed */
    #mainNav .navbar-collapse:not(.show):not(.collapsing) .navbar-nav {
        display: none !important;
    }

    /* Keep only the cart icon visible */
    #mainNav .navbar-collapse > .d-flex {
        display: flex !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mainNav .navbar-collapse > .d-flex > * {
        display: none !important;
    }

    #mainNav .navbar-collapse > .d-flex > a[href*="checkout"] {
        display: inline-flex !important;
        position: relative;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 40px;
        margin: 0 !important;
        font-size: 1.25rem;
        color: var(--brown);
    }

    #mainNav .navbar-collapse > .d-flex > a[href*="checkout"] .cart-badge {
        display: flex !important;
    }

    /* When expanded, show the menu links below the navbar */
    #mainNav .navbar-collapse.show,
    #mainNav .navbar-collapse.collapsing {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100% !important;
        display: block !important;
        background: var(--cream);
        padding: 12px 20px 18px;
        z-index: 1000;
    }

    #mainNav .navbar-collapse.show .navbar-nav,
    #mainNav .navbar-collapse.collapsing .navbar-nav {
        display: flex !important;
    }
}


/* ===== IACOM FOODS MOBILE BOTTOM NAVIGATION ===== */

.mobile-bottom-nav {
    display: none;
}

@media (max-width: 991.98px) {
    .mobile-bottom-nav {
        position: fixed;
        left: 12px;
        right: 12px;
        bottom: calc(10px + env(safe-area-inset-bottom));
        z-index: 1040;

        display: flex;
        align-items: stretch;
        justify-content: space-around;
        gap: 2px;

        padding: 9px 5px 7px;
        background: rgba(255, 253, 248, 0.97);
        border: 1px solid rgba(80, 55, 35, 0.10);
        border-radius: 22px;
        box-shadow: 0 8px 30px rgba(35, 24, 15, 0.16);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .bottom-nav-item {
        position: relative;
        flex: 1;
        min-width: 0;

        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;

        padding: 5px 1px;
        border: none;
        border-radius: 14px;
        background: transparent;

        color: var(--brown);
        text-decoration: none;
        font-family: inherit;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: color .2s ease, background .2s ease;
    }

    .bottom-nav-item > i,
    .bottom-icon-wrap > i {
        font-size: 19px;
        line-height: 1;
    }

    .bottom-nav-item > span:last-child {
        font-size: 10px;
        font-weight: 600;
        line-height: 1.2;
        white-space: nowrap;
    }


    .bottom-nav-item.active {
        color: var(--brown);
        background: rgba(201, 158, 76, 0.15);
    }

    .bottom-nav-item.active > i,
    .bottom-nav-item.active .bottom-icon-wrap > i {
        color: var(--gold);
    }

    .bottom-icon-wrap {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        height: 19px;
    }

    .bottom-badge {
        position: absolute;
        top: -8px;
        right: -11px;
        min-width: 15px;
        height: 15px;
        padding: 0 3px;
        border-radius: 20px;
        background: var(--gold);
        color: var(--brown);
        font-size: 9px;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .bottom-profile {
        flex: 1;
        display: flex;
        min-width: 0;
    }

    .bottom-profile > button {
        width: 100%;
    }

    .bottom-profile .dropdown-menu {
        bottom: calc(100% + 16px) !important;
        top: auto !important;
        right: 0 !important;
        left: auto !important;
        border: none;
        border-radius: 14px;
        box-shadow: 0 8px 30px rgba(35, 24, 15, 0.16);
    }

  
    body {
        padding-bottom: 95px;
    }
}

/* ***************** */
/* Profile */
/* **************** */

.account-page {
            max-width: 1000px;
            min-height: 100vh;
            margin: auto;
            background: #fff;
            box-shadow: 0 0 35px rgba(0, 0, 0, .04);
        }

        /* Profile header */
        .profile-header {
            text-align: center;
            padding: 55px 20px 65px;
        }

        .profile-avatar {
            width: 125px;
            height: 125px;
            margin: 0 auto 35px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: #f4eee8;
            color: var(--brown);
            font-size: 75px;
            overflow: hidden;
        }

        .profile-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .profile-name {
            font-size: clamp(25px, 4vw, 40px);
            font-weight: 400;
            margin-bottom: 18px;
            overflow-wrap: anywhere;
        }

        .profile-email {
            font-size: clamp(16px, 2.8vw, 26px);
            color: #292521;
            overflow-wrap: anywhere;
        }

        .profile-extra {
            font-size: 24px;
            margin: 23px 0 42px;
        }

        .edit-profile {
            color: var(--brown);
            font-size: clamp(18px, 3vw, 27px);
            text-decoration: underline;
            text-underline-offset: 5px;
            transition: color .25s;
        }

        .edit-profile:hover {
            color: var(--brown-dark);
        }

        .edit-profile i {
            margin-left: 12px;
        }

        /* Account menu */
        .account-menu {
            padding: 0 26px;
        }

        .account-link {
            display: flex;
            align-items: center;
            gap: 35px;
            min-height: 145px;
            padding: 25px 18px;
            border-top: 1px solid var(--border);
            color: var(--text);
            text-decoration: none;
            transition: background .25s, padding .25s;
        }

        .account-link:hover {
            background: #faf7f3;
            padding-left: 27px;
        }

        .account-link .menu-icon {
            flex: 0 0 42px;
            text-align: center;
            font-size: 39px;
            color: var(--brown);
        }

        .account-link .menu-label {
            flex: 1;
            font-size: clamp(20px, 3.2vw, 33px);
            font-weight: 400;
        }

        .account-link .view-icon {
            font-size: 38px;
            color: var(--brown);
        }

        .logout-link {
            border-bottom: 1px solid var(--border);
        }

        .logout-link .view-icon {
            display: none;
        }

        .logout-form {
            width: 100%;
        }

        .logout-button {
            width: 100%;
            display: flex;
            align-items: center;
            gap: 35px;
            padding: 25px 18px;
            min-height: 125px;
            border: 0;
            background: #fff;
            color: var(--text);
            text-align: left;
            transition: background .25s;
        }

        .logout-button:hover {
            background: #faf7f3;
        }

        .logout-button i {
            flex: 0 0 42px;
            text-align: center;
            font-size: 39px;
            color: var(--brown);
        }

        .logout-button span {
            font-size: clamp(20px, 3.2vw, 33px);
        }

        /* Mobile */
        @media (max-width: 576px) {
            .profile-header {
                padding: 38px 18px 45px;
            }

            .profile-avatar {
                width: 100px;
                height: 100px;
                font-size: 60px;
                margin-bottom: 28px;
            }

            .profile-extra {
                margin-bottom: 32px;
            }

            .account-menu {
                padding: 0 14px;
            }

            .account-link {
                min-height: 95px;
                gap: 17px;
                padding: 20px 8px;
            }

            .account-link .menu-icon,
            .logout-button i {
                flex-basis: 32px;
                font-size: 29px;
            }

            .account-link .view-icon {
                font-size: 28px;
            }

            .logout-button {
                min-height: 95px;
                gap: 17px;
                padding: 20px 8px;
            }
        }

/* ************************* */

/* ===== ACCOUNT SIDE MENU ===== */

.account-menu {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 26px 30px;
    width: 100%;
}

/* Individual menu card */
.account-link {
    display: flex;
    align-items: center;
    gap: 20px;
    min-height: 88px;
    padding: 18px 24px;

    background: #fff;
    border: 1px solid #e4e1dc;
    border-radius: 9px;

    color: var(--ink);
    text-decoration: none;
    position: relative;
    overflow: hidden;

    transition:
        background .25s ease,
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;
}

/* Menu icon */
.account-link .menu-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 27px;
    color: #a3a3a3;

    transition: color .25s ease;
}

/* Menu title */
.account-link .menu-label {
    flex: 1;
    min-width: 0;

    font-family: 'Manrope', sans-serif;
    font-size: 19px;
    font-weight: 750;
    line-height: 1.35;

    color: #111;
    overflow-wrap: anywhere;
}

/* Supporting text under the title */
.account-link .menu-label small,
.account-link .menu-subtitle,
.account-link .menu-description {
    display: block;
    margin-top: 2px;

    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;

    color: #818181;
}

/* Optional right-side arrow */
.account-link .view-icon {
    flex: 0 0 auto;
    margin-left: auto;
    font-size: 17px;
    color: #a3a3a3;
    transition: transform .25s ease, color .25s ease;
}

/* Hover effect */
.account-link:hover {
    background: #faf8f4;
    border-color: #d8c48f;
    box-shadow: 0 5px 16px rgba(21, 18, 13, .06);
    transform: translateY(-2px);
    padding-left: 24px;
}

.account-link:hover .menu-icon,
.account-link:hover .view-icon {
    color: var(--gold);
}

.account-link:hover .view-icon {
    transform: translateX(3px);
}

/* Active / selected menu item */
.account-link.active,
.account-link[aria-current="page"] {
    background: #eeece7;
    border-color: #d7d3ca;
    box-shadow: none;
}

.account-link.active .menu-label,
.account-link[aria-current="page"] .menu-label {
    color: #90684f;
}

.account-link.active .menu-icon,
.account-link[aria-current="page"] .menu-icon {
    color: #a3a3a3;
}

/* Keyboard accessibility */
.account-link:focus-visible {
    outline: 2px solid var(--gold);
    outline-offset: 3px;
}

/* Tablet */
@media (max-width: 767px) {
    .account-menu {
        padding: 0 16px 24px;
        gap: 10px;
    }

    .account-link {
        min-height: 78px;
        padding: 15px 17px;
        gap: 15px;
    }

    .account-link .menu-icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 25px;
    }

    .account-link .menu-label {
        font-size: 17px;
    }

    .account-link .menu-label small,
    .account-link .menu-subtitle,
    .account-link .menu-description {
        font-size: 13px;
    }
}

/* Small mobile */
@media (max-width: 380px) {
    .account-menu {
        padding-right: 12px;
        padding-left: 12px;
    }

    .account-link {
        gap: 12px;
        padding: 14px 12px;
        min-height: 74px;
    }

    .account-link .menu-icon {
        flex-basis: 32px;
        width: 32px;
        font-size: 23px;
    }

    .account-link .menu-label {
        font-size: 15px;
    }

    .account-link .menu-label small,
    .account-link .menu-subtitle,
    .account-link .menu-description {
        font-size: 12px;
    }
}
/* Hide sidebar on mobile */
@media (max-width: 767.98px) {
    .account-sidebar {
        display: none !important;
    }
}

/* Show sidebar on desktop */
@media (min-width: 768px) {
    .account-sidebar {
        display: block;
    }
}
