:root{--brown:#4e301b;--cream:#fbdfa2;--paper:#faf7f1;--ink:#392315}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% 3%,#f9dfb1 0,transparent 27%),var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.shell{max-width:1340px;margin:auto;padding-inline:34px}.glass{background:linear-gradient(145deg,rgba(255,255,255,.69),rgba(251,223,162,.24));border:1px solid rgba(255,255,255,.82);box-shadow:0 10px 32px rgba(78,48,27,.11),inset 0 1px 1px rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-wrap{position:sticky;top:0;z-index:10;padding:18px 28px 0;pointer-events:none}.nav{max-width:1390px;margin:auto;border-radius:30px;min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:8px 22px;gap:28px;pointer-events:auto}.brand{display:block;width:178px;flex:none}.brand img{width:100%;height:55px;object-fit:contain}.nav-links{display:flex;gap:36px;font-weight:600}.nav-links a:hover,.footer-inner a:hover{text-decoration:underline;text-underline-offset:5px}.lang{flex:none;border:1px solid rgba(78,48,27,.2);color:var(--brown);background:rgba(255,255,255,.4);padding:11px 17px;border-radius:100px;min-width:92px}.intro{padding-top:42px;display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:stretch}.intro-copy{background:var(--brown);color:#fff8ed;border-radius:34px;min-height:380px;padding:clamp(32px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:0 22px 40px rgba(78,48,27,.15)}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.21em;color:#956138;margin:0 0 16px}.intro-copy .eyebrow{color:var(--cream)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,'Times New Roman',serif}h1{font-size:clamp(2.65rem,5vw,5.25rem);line-height:1.02;letter-spacing:-.05em;max-width:650px;margin-bottom:22px}h2{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.035em;margin-bottom:0}.intro-copy>p:not(.eyebrow){max-width:390px;color:#f4e4d2;line-height:1.6}.action{display:inline-flex;align-items:center;justify-content:center;gap:32px;background:var(--cream);color:var(--brown);padding:15px 24px;border-radius:100px;font-weight:700;margin-top:16px;border:1px solid #ffedca}.action:hover,.chip:hover{transform:translateY(-2px)}.intro-art{overflow:hidden;border-radius:34px;min-height:380px}.intro-art img{width:100%;height:100%;object-fit:cover}.catalog{padding-top:86px;scroll-margin-top:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.count{color:#775743;margin:0}.tools{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.search{display:flex;align-items:center;gap:12px;border-radius:18px;padding:0 17px;min-width:250px;width:360px;height:52px}.search span{font-size:1.9rem;line-height:1}.search input{background:none;border:0;outline:0;min-width:0;width:100%;color:var(--ink)}.filters{display:flex;gap:9px;flex-wrap:wrap}.chip{border:1px solid #e7d4b5;background:#fff8ed;padding:11px 16px;border-radius:100px;color:var(--brown);transition:transform .2s}.chip.active{background:var(--brown);color:#fff;border-color:var(--brown)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.product{border:1px solid rgba(255,255,255,.85);background:rgba(255,255,255,.56);border-radius:24px;padding:12px;text-align:left;color:var(--ink);box-shadow:0 12px 32px rgba(78,48,27,.07);transition:transform .2s,box-shadow .2s;min-width:0}.product:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(78,48,27,.14)}.product img{aspect-ratio:1.4;object-fit:cover;width:100%;border-radius:16px;background:#f1e8db}.product-info{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 10px 8px}.product-info strong{font-size:1.08rem}.product-info small{display:block;font-size:.84rem;color:#80624e;margin-top:6px}.product-info .arrow{font-size:1.4rem;color:var(--brown)}.empty{padding:30px 0}.collections{padding-top:94px;scroll-margin-top:110px}.collection-list{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:24px}.collection-list button{border-radius:24px;min-height:120px;text-align:left;padding:22px;color:var(--brown);font-family:Georgia,serif;font-size:1.38rem;font-weight:700}.collection-list button:hover{background:var(--cream)}.about{padding-top:90px;padding-bottom:100px;scroll-margin-top:110px}.about-card{border-radius:32px;padding:44px 50px}.about-card p:last-child{margin:20px 0 0;max-width:640px;line-height:1.7;color:#694b36}footer{background:var(--brown);color:#f4e6d2}.footer-inner{padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-inner img{width:130px;filter:brightness(0) invert(1)}.detail{border:1px solid #fff;border-radius:30px;padding:20px;max-width:840px;width:calc(100% - 30px);color:var(--brown);box-shadow:0 30px 90px rgba(30,15,6,.35);background:#fbf6ec;grid-template-columns:1fr 1fr;gap:26px;position:fixed}.detail[open]{display:grid}.detail::backdrop{background:rgba(37,20,9,.62);backdrop-filter:blur(8px)}.detail>img{width:100%;height:340px;object-fit:cover;border-radius:20px}.detail-copy{padding:40px 18px;align-self:center}.detail-copy p{line-height:1.6}.detail-copy .action{border-color:#e6d1ab}.close{position:absolute;right:16px;top:14px;border:0;border-radius:50%;background:#fff;width:40px;height:40px;font-size:1.5rem;color:var(--brown)}:focus-visible{outline:3px solid #ad7132;outline-offset:3px}@media(max-width:900px){.intro{grid-template-columns:1fr}.intro-copy{min-height:310px}.intro-art{min-height:260px;max-height:420px}.tools{align-items:stretch;flex-direction:column}.search{width:100%}.grid{grid-template-columns:repeat(2,1fr)}.collection-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.shell{padding-inline:18px}.nav-wrap{padding:10px 12px 0}.nav{min-height:65px;border-radius:22px;padding:7px 12px;gap:7px;flex-wrap:wrap}.brand{width:119px}.brand img{height:43px}.nav-links{order:3;width:100%;justify-content:space-around;gap:8px;padding:5px 0 8px;font-size:.87rem}.lang{padding:8px;min-width:82px}.intro{padding-top:19px;gap:12px}.intro-copy{border-radius:24px;padding:32px 26px;min-height:300px}.intro-art{border-radius:24px;min-height:210px}.catalog,.collections{padding-top:65px}.grid{gap:11px}.product{padding:7px;border-radius:17px}.product img{border-radius:12px;aspect-ratio:1.05}.product-info{padding:12px 5px 5px}.product-info strong{font-size:.93rem}.product-info small{font-size:.75rem}.product-info .arrow{display:none}.collection-list{gap:10px}.collection-list button{font-size:1.12rem;min-height:100px;padding:14px}.about{padding-top:65px;padding-bottom:70px}.about-card{padding:28px}.footer-inner{flex-wrap:wrap}.detail[open]{display:block}.detail>img{height:230px}.detail-copy{padding:24px 10px 10px}}
.footer-inner img{width:160px;filter:none;background:var(--cream);border-radius:12px;padding:8px}
.contact-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.contact-list>div{background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.9);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:10px}
.contact-list span{font-size:.85rem;color:#79543a}.contact-list strong,.contact-list a{font-size:1.1rem;font-weight:700}.contact-list a:hover{text-decoration:underline}
@media(max-width:620px){.contact-list{grid-template-columns:1fr}.contact-list>div{padding:16px}}
/* Navigation selection and matching glass footer */
.nav-links{align-items:center;gap:5px}
.nav-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 19px;border-radius:999px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.nav-links a:hover,.nav-links a:focus-visible{background:#754b2b;color:#fff8e8;text-decoration:none;box-shadow:inset 0 1px 1px rgba(255,255,255,.17),0 4px 12px rgba(78,48,27,.14)}
footer{background:linear-gradient(180deg,#f9f4e9,#ecd8b6);padding:18px 28px 24px;color:var(--brown)}
.footer-inner{max-width:1390px;min-height:86px;padding:14px 22px;border-radius:30px;background:linear-gradient(145deg,rgba(255,255,255,.73),rgba(251,223,162,.31));border:1px solid rgba(255,255,255,.86);box-shadow:0 10px 32px rgba(78,48,27,.12),inset 0 1px 1px rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.footer-inner img{background:none;padding:0;width:140px}
@media(max-width:620px){.nav-links{gap:0}.nav-links a{padding:8px 9px;min-height:38px;font-size:.82rem}footer{padding:12px}.footer-inner{border-radius:22px;padding:16px}.footer-inner img{width:120px}}
.theme{flex:none;width:42px;height:42px;border:1px solid rgba(78,48,27,.18);border-radius:50%;background:rgba(255,255,255,.42);color:var(--brown);font-size:1.3rem;line-height:1}
[data-theme="dark"]{color-scheme:dark;--paper:#180b05;--ink:#fbdfa2}
[data-theme="dark"] body{background:radial-gradient(circle at 92% 58%,rgba(154,69,7,.5) 0,rgba(91,38,7,.24) 31%,transparent 60%),linear-gradient(115deg,#170904 0%,#2b1106 50%,#4e301b 100%);color:var(--ink)}
[data-theme="dark"] .glass{background:linear-gradient(145deg,rgba(72,29,9,.78),rgba(38,14,6,.68));border-color:rgba(251,223,162,.42);box-shadow:0 12px 34px rgba(0,0,0,.3),inset 0 1px 1px rgba(251,223,162,.23)}
[data-theme="dark"] .nav{background:linear-gradient(145deg,rgba(74,30,10,.9),rgba(34,12,5,.88))}
[data-theme="dark"] .brand{background:var(--cream);border-radius:14px;padding:3px 10px}
[data-theme="dark"] .nav-links a,[data-theme="dark"] .lang,[data-theme="dark"] .theme{color:#fff1d6}
[data-theme="dark"] .nav-links a:hover,[data-theme="dark"] .nav-links a:focus-visible{background:rgba(251,223,162,.24);color:#fff}
[data-theme="dark"] .lang,[data-theme="dark"] .theme{background:rgba(251,223,162,.1);border-color:rgba(251,223,162,.35)}
[data-theme="dark"] .intro-copy{background:#4e301b}
[data-theme="dark"] .eyebrow{color:var(--cream)}
[data-theme="dark"] .count,[data-theme="dark"] .product-info small,[data-theme="dark"] .contact-list span{color:#ddc0a0}
[data-theme="dark"] .search input{color:#fff5e6}
[data-theme="dark"] .search input::placeholder{color:#d5bba3}
[data-theme="dark"] .chip{color:#f8e9d3;background:#3c271b;border-color:#6a4935}
[data-theme="dark"] .chip.active{background:var(--cream);color:var(--brown);border-color:var(--cream)}
[data-theme="dark"] .product{background:rgba(104,69,44,.36);border-color:rgba(251,223,162,.23);color:#fff4e2}
[data-theme="dark"] .product-info .arrow{color:var(--cream)}
[data-theme="dark"] .collection-list button{color:#fff4e2}
[data-theme="dark"] .collection-list button:hover{background:#65452f}
[data-theme="dark"] .about-card p:last-child{color:#ead7be}
[data-theme="dark"] .contact-list>div{background:rgba(34,20,14,.34);border-color:rgba(251,223,162,.22)}
[data-theme="dark"] footer{background:linear-gradient(180deg,#21140f,#170d0a);color:#fff0d8}
[data-theme="dark"] .footer-inner{background:linear-gradient(145deg,rgba(115,76,47,.58),rgba(54,31,20,.62));border-color:rgba(251,223,162,.26);box-shadow:0 12px 34px rgba(0,0,0,.24),inset 0 1px 1px rgba(255,238,204,.23)}
[data-theme="dark"] .footer-inner img{background:var(--cream);padding:7px;border-radius:10px}
[data-theme="dark"] .detail{background:#2b1b14;color:#fff1d8;border-color:#9a7550}
[data-theme="dark"] .close{color:var(--brown)}
@media(max-width:620px){.theme{width:36px;height:36px;font-size:1.1rem}.nav{gap:5px}.brand{width:107px}.lang{min-width:74px}}
[data-theme="dark"] .brand{background:none;border-radius:0;padding:0}
[data-theme="dark"] .footer-inner img{background:none;padding:0;border-radius:0}
.nav-controls{display:flex;align-items:center;gap:8px;flex:none}
@media(max-width:620px){.nav-controls{gap:5px}}
.language-switch{display:flex;align-items:center;gap:3px;border:1px solid rgba(78,48,27,.22);background:rgba(255,255,255,.42);border-radius:999px;padding:4px;flex:none}
.language-switch button{border:0;border-radius:999px;background:transparent;color:var(--brown);font-weight:700;min-width:58px;min-height:36px;padding:6px 12px}
.language-switch button.is-active{background:var(--brown);color:#fff6e6;box-shadow:0 2px 7px rgba(78,48,27,.18)}
.language-switch button:not(.is-active):hover{background:rgba(78,48,27,.14)}
.theme:hover,.theme:focus-visible{background:#754b2b;color:#fff8e8;box-shadow:inset 0 1px 1px rgba(255,255,255,.17),0 4px 12px rgba(78,48,27,.14)}
[data-theme="dark"] .language-switch{background:rgba(251,223,162,.13);border-color:rgba(251,223,162,.44)}
[data-theme="dark"] .language-switch button{color:#f9e7c7}
[data-theme="dark"] .language-switch button.is-active{background:var(--cream);color:var(--brown)}
[data-theme="dark"] .language-switch button:not(.is-active):hover{background:rgba(251,223,162,.17)}
[data-theme="dark"] .theme:hover,[data-theme="dark"] .theme:focus-visible,[data-theme="dark"] .nav-links a:hover,[data-theme="dark"] .nav-links a:focus-visible{background:#754b2b;color:#fff8e8}
@media(max-width:620px){.language-switch{padding:3px;gap:0}.language-switch button{min-width:46px;min-height:32px;padding:5px 8px;font-size:.84rem}}
/* Both logo colors are loaded once; theme changes only their visibility. */
.logo-dark{display:none!important}
[data-theme="dark"] .logo-light{display:none!important}
[data-theme="dark"] .logo-dark{display:block!important}
.brand img,.footer-inner img{object-fit:contain}

/* Consistent 4:3 product photography across cards and product details. */
.product img{
  aspect-ratio:4 / 3;
}
.detail>img{
  height:auto;
  aspect-ratio:4 / 3;
}
@media(max-width:620px){
  .product img{
    aspect-ratio:4 / 3;
  }
  .detail>img{
    height:auto;
    aspect-ratio:4 / 3;
  }
}
@media(max-width:620px){.language-switch button:not(.is-active){display:none}.language-switch button.is-active{min-width:56px;min-height:36px}.language-switch{padding:3px}}
.collection-group{border-radius:24px;min-height:120px;padding:0;overflow:hidden}
.collection-group summary{list-style:none;cursor:pointer;min-height:120px;display:flex;align-items:center;justify-content:space-between;padding:22px;font-family:Georgia,serif;font-size:1.38rem;font-weight:700;color:var(--brown)}
.collection-group summary::-webkit-details-marker{display:none}
.collection-group summary::after{content:'+';font-family:Arial,sans-serif;font-size:1.4rem;font-weight:400}
.collection-group[open] summary::after{content:'−'}
.collection-inside{padding:0 22px 20px}.collection-view{border:0;background:var(--cream);color:var(--brown);border-radius:100px;padding:10px 16px;text-align:left;font-weight:700}.collection-inside p{font-size:.85rem;line-height:1.4;opacity:.75;margin:15px 0 0}
[data-theme="dark"] .collection-group summary{color:#fff4e2}
@media(max-width:620px){.collection-group summary{font-size:1.12rem;min-height:100px;padding:14px}.collection-inside{padding:0 14px 18px}}
.subcategories{display:flex;flex-wrap:wrap;gap:9px;margin-top:15px}
.subcat-button{border:1px solid rgba(78,48,27,.22);background:rgba(255,255,255,.6);color:var(--brown);border-radius:999px;padding:10px 14px;font-size:.94rem;line-height:1.4;text-align:left}
.subcat-button:hover,.subcat-button:focus-visible{background:var(--cream)}
[data-theme="dark"] .subcat-button{background:rgba(251,223,162,.12);border-color:rgba(251,223,162,.3);color:#fff1d6}
[data-theme="dark"] .subcat-button:hover,[data-theme="dark"] .subcat-button:focus-visible{background:#754b2b}
.back-chip{border-style:dashed;font-weight:700}
[data-theme="dark"] .back-chip{border-color:rgba(251,223,162,.55)}

/* Bundled Latin and Khmer typography supplied for this catalog. */
@font-face{font-family:'Affinik';src:url('assets/Affinik-Regular.otf') format('opentype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Kbeung Toch';src:url('assets/KbeungToch-Thin.otf') format('opentype');font-weight:100;font-display:swap}
@font-face{font-family:'Kbeung Toch';src:url('assets/KbeungToch-Light.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:'Kbeung Toch';src:url('assets/KbeungToch-Regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'Kbeung Toch';src:url('assets/KbeungToch-SemiBold.otf') format('opentype');font-weight:600;font-display:swap}
@font-face{font-family:'Kbeung Toch';src:url('assets/KbeungToch-Bold.otf') format('opentype');font-weight:700;font-display:swap}
[lang="kh"] body,[lang="kh"] button,[lang="kh"] input{font-family:'Affinik','Kbeung Toch',Arial,sans-serif}
[lang="kh"] h1,[lang="kh"] h2,[lang="kh"] .collection-group summary{font-family:'Kbeung Toch',Arial,sans-serif;letter-spacing:0}
[lang="kh"] h1{line-height:1.32}
[lang="kh"] h2{line-height:1.4}
[lang="kh"] .eyebrow{letter-spacing:0;line-height:1.5}
[lang="kh"] .chip,[lang="kh"] .subcat-button{line-height:1.6}
.language-switch button[data-lang="kh"]{font-family:'Kbeung Toch',Arial,sans-serif;line-height:1.5}

/* One continuous gradient surface behind all sections. */
html{background:#f1e5d6}
body{
  background:linear-gradient(135deg,#fffaf3 0%,#f1e5d6 38%,#faf5ed 68%,#ead8c4 100%);
  background-attachment:fixed;
}
footer{background:linear-gradient(135deg,#f5ebde,#ead7c0)}
[data-theme="dark"]{background:#180b05}
[data-theme="dark"] body{
  background:
    radial-gradient(circle at 92% 58%,rgba(154,69,7,.5) 0,rgba(91,38,7,.24) 31%,transparent 60%),
    linear-gradient(115deg,#170904 0%,#2b1106 50%,#4e301b 100%);
  background-attachment:fixed;
}
[data-theme="dark"] footer{background:linear-gradient(115deg,#170904,#4e301b)}
.nav{justify-content:flex-start;background:linear-gradient(145deg,rgba(255,255,255,.76),rgba(251,223,162,.43));border:1px solid rgba(255,255,255,.94);box-shadow:0 14px 38px rgba(78,48,27,.19),inset 0 1px 0 rgba(255,255,255,.96);backdrop-filter:blur(30px) saturate(155%);-webkit-backdrop-filter:blur(30px) saturate(155%)}
[data-theme="dark"] .nav{background:linear-gradient(145deg,rgba(74,30,10,.9),rgba(34,12,5,.88));border-color:rgba(251,223,162,.48);box-shadow:0 14px 38px rgba(0,0,0,.38),inset 0 1px 0 rgba(251,223,162,.28)}
.nav-search{flex:1;min-width:150px;width:auto;max-width:520px;margin-inline:auto;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav-search:focus-within{outline:2px solid #ad7132;outline-offset:2px}
.nav-search input:focus{outline:none}
[data-theme="dark"] .nav-search{background:rgba(251,223,162,.12);border-color:rgba(251,223,162,.36);box-shadow:inset 0 1px 0 rgba(255,238,204,.13)}
.tools{justify-content:flex-start}
.footer-inner{max-width:1390px;margin:auto}
@media(max-width:620px){.nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 6px}.nav-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%;height:46px;margin:0;border-radius:16px}.nav-controls{grid-column:2;grid-row:1}.brand{grid-column:1;grid-row:1}.nav-wrap{padding:10px 12px 0}.catalog,.collections{scroll-margin-top:150px}}
.nav-search{border-radius:999px}

/* Liquid-glass controls with solid brown selected states. */
.theme,
.language-switch,
.chip,
.collection-view,
.subcat-button,
.action,
.close{
  background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(251,223,162,.3));
  border:1px solid rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 7px 18px rgba(78,48,27,.12);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  color:var(--brown);
  transition:background .18s ease,box-shadow .18s ease,transform .18s ease,color .18s ease;
}
.theme:hover,
.language-switch button:not(.is-active):hover,
.chip:hover,
.collection-view:hover,
.subcat-button:hover,
.action:hover,
.close:hover{
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(251,223,162,.5));
  box-shadow:inset 0 1px 0 #fff,0 10px 24px rgba(78,48,27,.17);
}
.language-switch{padding:3px;gap:3px}
.language-switch button{
  min-height:42px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  box-shadow:none;
}
.product{
  background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(255,255,255,.43));
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}
[data-theme="dark"] .theme,
[data-theme="dark"] .language-switch,
[data-theme="dark"] .chip,
[data-theme="dark"] .collection-view,
[data-theme="dark"] .subcat-button,
[data-theme="dark"] .action,
[data-theme="dark"] .close{
  background:linear-gradient(145deg,rgba(251,223,162,.2),rgba(88,54,34,.28));
  border-color:rgba(251,223,162,.38);
  box-shadow:inset 0 1px 0 rgba(255,238,204,.24),0 8px 20px rgba(0,0,0,.22);
  color:#fff1d6;
}
[data-theme="dark"] .product{
  background:linear-gradient(145deg,rgba(128,84,52,.46),rgba(54,32,21,.42));
  border-color:rgba(251,223,162,.3);
}
.language-switch button.is-active,
[data-theme="dark"] .language-switch button.is-active,
.chip.active,
[data-theme="dark"] .chip.active{
  background:linear-gradient(145deg,#70472b,#4e301b);
  border-color:rgba(255,255,255,.24);
  color:#fff8ed;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.28),0 5px 13px rgba(78,48,27,.3);
}
@media(max-width:620px){.language-switch button{min-height:36px}}

/* Higher-contrast controls with a dark hover state. */
.theme,
.language-switch,
.chip,
.collection-view,
.subcat-button,
.action,
.close{
  background:linear-gradient(145deg,rgba(255,255,255,.68),rgba(255,255,255,.28));
  border-color:rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px 0 rgba(78,48,27,.08),0 8px 22px rgba(78,48,27,.14);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  color:var(--brown);
}
[data-theme="dark"] .theme,
[data-theme="dark"] .language-switch,
[data-theme="dark"] .chip,
[data-theme="dark"] .collection-view,
[data-theme="dark"] .subcat-button,
[data-theme="dark"] .action,
[data-theme="dark"] .close{
  background:linear-gradient(145deg,rgba(251,223,162,.14),rgba(78,48,27,.42));
  border-color:rgba(251,223,162,.55);
  box-shadow:inset 0 1px 0 rgba(251,223,162,.22),inset 0 -1px 0 rgba(0,0,0,.24),0 8px 22px rgba(0,0,0,.32);
  color:#fbdfa2;
}
.theme:hover,
.theme:focus-visible,
.language-switch button:not(.is-active):hover,
.language-switch button:not(.is-active):focus-visible,
.chip:hover,
.chip:focus-visible,
.collection-view:hover,
.collection-view:focus-visible,
.subcat-button:hover,
.subcat-button:focus-visible,
.action:hover,
.action:focus-visible,
.close:hover,
.close:focus-visible,
.collection-group summary:hover,
.collection-group summary:focus-visible,
[data-theme="dark"] .theme:hover,
[data-theme="dark"] .theme:focus-visible,
[data-theme="dark"] .language-switch button:not(.is-active):hover,
[data-theme="dark"] .language-switch button:not(.is-active):focus-visible,
[data-theme="dark"] .chip:hover,
[data-theme="dark"] .chip:focus-visible,
[data-theme="dark"] .collection-view:hover,
[data-theme="dark"] .collection-view:focus-visible,
[data-theme="dark"] .subcat-button:hover,
[data-theme="dark"] .subcat-button:focus-visible,
[data-theme="dark"] .action:hover,
[data-theme="dark"] .action:focus-visible,
[data-theme="dark"] .close:hover,
[data-theme="dark"] .close:focus-visible,
[data-theme="dark"] .collection-group summary:hover,
[data-theme="dark"] .collection-group summary:focus-visible{
  background:linear-gradient(145deg,#70472b,#3f2517);
  border-color:#4e301b;
  color:#fff8ed;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.22),0 10px 24px rgba(78,48,27,.28);
}
.product:hover,
.product:focus-visible{
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(251,223,162,.42));
  border-color:rgba(78,48,27,.28);
}
.product{
  will-change:transform;
  transition:transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,background .24s ease,border-color .24s ease;
}
.product:active{transform:translateY(-1px) scale(.985)}
[data-theme="dark"] .product:hover,
[data-theme="dark"] .product:focus-visible{
  background:linear-gradient(145deg,rgba(111,49,11,.82),rgba(45,16,6,.78));
  border-color:rgba(251,223,162,.68);
}
.language-switch button.is-active,
[data-theme="dark"] .language-switch button.is-active,
.chip.active,
[data-theme="dark"] .chip.active{
  background:linear-gradient(145deg,#70472b,#4e301b);
  color:#fff8ed;
}

/* Keep every compact control centered, including Khmer labels. */
.theme,
.language-switch button,
.chip,
.collection-view,
.subcat-button,
.action,
.close{
  align-items:center;
  justify-content:center;
  text-align:center;
}
.theme,
.language-switch button,
.chip,
.collection-view,
.subcat-button,
.action,
.close{display:inline-flex}
.theme,.close{padding:0;line-height:1}
.search span{display:grid;place-items:center;align-self:stretch;flex:none}
.search input{height:100%;padding:0;line-height:1.5;vertical-align:middle}
[lang="kh"] .search input{line-height:1.7}

/* Keep filter labels visually centered and prevent Khmer words from splitting. */
.chip{
  min-height:56px;
  max-width:100%;
  padding:2px 18px 0;
  line-height:1;
  white-space:nowrap;
}
[lang="kh"] .chip{
  padding:5px 18px 0;
  line-height:1;
}
.back-chip{white-space:normal}

/* Center nav labels independently from font baselines and button padding. */
.theme,
.language-switch button{
  position:relative;
  overflow:hidden;
}
.theme>span,
.language-switch button>span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  width:auto;
  height:auto;
  line-height:1;
  pointer-events:none;
}
.theme{
  flex:0 0 42px;
  width:42px;
  height:42px;
  font-family:Arial,Helvetica,sans-serif;
}
.language-switch{
  display:grid;
  grid-template-columns:repeat(2,64px);
}
.language-switch button{
  width:64px;
  min-width:64px;
  height:42px;
  min-height:42px;
  padding:0;
}
.language-switch button[data-lang="en"]{font-family:'Affinik',Arial,Helvetica,sans-serif}
.language-switch button[data-lang="kh"]{font-family:'Kbeung Toch',Arial,sans-serif}
.theme[data-icon="sun"]>span{transform:translateY(1px)}
.theme[data-icon="moon"]>span{transform:translate(-3px,0)}
.language-switch button[data-lang="en"]>span{transform:translateY(1px)}
.language-switch button[data-lang="kh"]>span{transform:translateY(4px)}
@media(max-width:620px){
  .theme{flex-basis:36px;width:36px;height:36px}
  .language-switch{display:flex}
  .language-switch button{width:56px;min-width:56px;height:36px;min-height:36px}
}

/* Optically center the search symbol and Khmer input text. */
.search>span{
  font-family:Arial,Helvetica,sans-serif;
  transform:translateY(3px);
}
[lang="kh"] .search input{
  padding:6px 0 0;
  line-height:1.2;
}

/* Fixed-size vector icons stay centered regardless of font or language. */
.search>.search-icon{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  align-self:center;
  transform:none;
}
.search-icon svg{
  display:block;
  width:22px;
  height:22px;
}
.theme>span,
.theme[data-icon="sun"]>span,
.theme[data-icon="moon"]>span{transform:none}
.theme-icon{
  display:block;
  width:20px;
  height:20px;
}
.theme .icon-moon{display:none}
.theme[data-icon="moon"] .icon-sun{display:none}
.theme[data-icon="moon"] .icon-moon{display:block}

/* Let the navigation move with the page instead of staying pinned. */
.nav-wrap{position:relative;top:auto}

/* Product prices stay prominent without competing with the product name. */
.product-price{
  display:block;
  margin-top:12px;
  color:var(--brown);
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.4rem;
  font-weight:900;
  line-height:1.15;
}
.detail-copy .detail-price{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  min-width:86px;
  margin:2px 0 16px;
  padding:0 18px;
  border:1px solid rgba(78,48,27,.2);
  border-radius:999px;
  background:rgba(251,223,162,.4);
  color:var(--brown);
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.12rem;
  font-weight:800;
  line-height:1;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.detail-copy .action{min-height:58px;padding:0 24px;line-height:1;text-align:center}
.detail-copy .action>span{display:block;line-height:1.2;transform:translateY(2px)}
.detail>.close{z-index:3;font-size:0}
.detail>.close::before{
  content:'×';
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:24px;
  font-weight:700;
  line-height:1;
  transform:translateY(-1px);
}

/* Smooth the product-card handoff into the detail view. */
.detail[open]{
  animation:detail-open .42s cubic-bezier(.16,1,.3,1) both;
  transform-origin:center 58%;
}
.detail[open]::backdrop{animation:detail-backdrop-in .34s ease-out both}
.detail[open]>img{animation:detail-image-in .5s .04s cubic-bezier(.16,1,.3,1) both}
.detail[open] .detail-copy{animation:detail-copy-in .46s .09s cubic-bezier(.16,1,.3,1) both}
.detail.is-closing{animation:detail-close .24s cubic-bezier(.4,0,1,1) both}
.detail.is-closing::backdrop{animation:detail-backdrop-out .24s ease-in both}
.detail.is-closing>img,
.detail.is-closing .detail-copy{animation:none}
@keyframes detail-open{
  from{opacity:0;transform:translateY(22px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes detail-close{
  from{opacity:1;transform:translateY(0) scale(1)}
  to{opacity:0;transform:translateY(14px) scale(.98)}
}
@keyframes detail-backdrop-in{from{background:rgba(37,20,9,0);backdrop-filter:blur(0)}to{background:rgba(37,20,9,.62);backdrop-filter:blur(8px)}}
@keyframes detail-backdrop-out{from{background:rgba(37,20,9,.62);backdrop-filter:blur(8px)}to{background:rgba(37,20,9,0);backdrop-filter:blur(0)}}
@keyframes detail-image-in{from{opacity:0;transform:translateX(-14px) scale(.985)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes detail-copy-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .product,
  .detail[open],
  .detail[open]::backdrop,
  .detail[open]>img,
  .detail[open] .detail-copy,
  .detail.is-closing,
  .detail.is-closing::backdrop{animation:none;transition:none}
}
[data-theme="dark"] .product-price{color:#fbdfa2}
[data-theme="dark"] .detail-price{
  border-color:rgba(251,223,162,.5);
  background:rgba(251,223,162,.12);
  color:#fbdfa2;
}
@media(max-width:620px){.product-price{font-size:1.2rem;margin-top:9px}.product-info small{margin-top:8px}}

/* Keep Latin branding consistent while retaining the Khmer display font. */
.eyebrow,.intro-copy .eyebrow{font-family:'Affinik',Arial,Helvetica,sans-serif}
.intro-copy>p:not(.eyebrow){font-family:'Affinik','Kbeung Toch',Arial,sans-serif}
.intro-copy .action{min-height:58px;padding:0 24px;line-height:1;text-align:center}
.intro-copy .action>span{display:block;line-height:1.2;transform:translateY(2px)}
.spaced-latin{
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
  vertical-align:baseline;
  letter-spacing:0;
}
.latin-character{display:inline-block}
.latin-character:not(:last-child){margin-inline-end:.12em}
.latin-space{width:.42em}

.contact-list .contact-label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  height:32px;
  padding-top:4px;
  box-sizing:border-box;
  font-size:1.05rem;
  line-height:24px;
  font-family:'Affinik',Arial,Helvetica,sans-serif;
}
.contact-label .social-icon{width:24px;height:24px;flex:none;transform:translateY(-2px)}
.count-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Affinik',Arial,Helvetica,sans-serif;
  line-height:1;
}
.count{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  column-gap:.35em;
  line-height:1.4;
}
.count-total{
  display:inline-flex;
  align-items:center;
  gap:.28em;
  white-space:nowrap;
}
.count-label{line-height:1.4}
#facebookContact,#instagramContact{
  font-family:'Affinik',Arial,Helvetica,sans-serif;
  text-transform:uppercase;
}
.contact-list>.contact-card{
  min-width:0;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.9);
  border-radius:20px;
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-card strong{overflow-wrap:anywhere}
.contact-card.is-clickable{cursor:pointer}
.contact-card.is-clickable:hover,
.contact-card.is-clickable:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(78,48,27,.3);
  background:rgba(255,255,255,.82);
  box-shadow:0 14px 30px rgba(78,48,27,.16),inset 0 1px 0 rgba(255,255,255,.9);
  text-decoration:none;
}
[data-theme="dark"] .contact-list>.contact-card{
  background:rgba(34,20,14,.34);
  border-color:rgba(251,223,162,.22);
}
[data-theme="dark"] .contact-card.is-clickable:hover,
[data-theme="dark"] .contact-card.is-clickable:focus-visible{
  border-color:rgba(251,223,162,.55);
  background:rgba(94,50,25,.6);
  box-shadow:0 14px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(251,223,162,.18);
}
@media(max-width:620px){.contact-list>.contact-card{padding:16px}}
.contact-heading{
  display:flex;
  align-items:center;
  gap:22px;
}
.contact-logo{
  display:block;
  flex:0 0 160px;
  width:160px;
}
.contact-logo img{
  width:100%;
  height:58px;
  object-fit:contain;
}
.contact-heading h2{min-width:0;transform:translateY(6px)}
@media(max-width:620px){
  .contact-heading{gap:14px}
  .contact-logo{flex-basis:112px;width:112px}
  .contact-logo img{height:42px}
  .contact-heading h2{font-size:1.65rem;line-height:1.35}
}
