:root {
  --primary: #153d2d;
  --primary-dark: #0e2c20;
  --primary-soft: #e9eee7;
  --sage: #879b85;
  --accent: #d9af51;
  --accent-dark: #b98c31;
  --bg: #f6f3e9;
  --bg-soft: #eef0e8;
  --text: #162b20;
  --muted: #667268;
  --card: #fffefa;
  --line: rgba(21, 61, 45, .14);
  --shadow: 0 24px 70px rgba(18, 42, 29, .14);
  --shadow-soft: 0 12px 34px rgba(18, 42, 29, .09);
  --radius: 20px;
  --container: min(1280px, calc(100% - 48px));
}
body { background: #fffefa; color: var(--text); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.skip-link {
  position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px;
  transform: translateY(calc(-100% - 18px)); border: 2px solid var(--primary);
  border-radius: 10px; color: var(--primary); background: #fffefa; box-shadow: var(--shadow-soft);
}
.skip-link:focus { transform: translateY(0); }
.site-header, .home-page .site-header {
  background: rgba(255,254,250,.97); border-bottom: 1px solid rgba(21,61,45,.1);
  box-shadow: 0 4px 18px rgba(21,45,31,.06); backdrop-filter: blur(16px);
}
.nav { min-height: 68px; gap: 20px; }
.brand { min-width: 206px; gap: 11px; }
.brand-logo { width: 42px; height: 42px; border-radius: 50%; border-color: rgba(217,175,81,.65); box-shadow: 0 2px 8px rgba(21,61,45,.12); }
.brand-text strong, .home-page .brand-text strong { color: var(--primary); font-size: 1.12rem; }
.brand-text span, .home-page .brand-text span { color: #69746b; font-size: .75rem; }
.nav-links { gap: clamp(1px,.4vw,8px); }
.nav-links a, .home-page .nav-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--primary); padding: 8px 11px; font-size: .92rem; font-weight: 500; }
.nav-links a:hover, .nav-links a.is-active, .nav-links a[aria-current="page"], .home-page .nav-links a:hover, .home-page .nav-links a.is-active, .home-page .nav-links a[aria-current="page"] { color: var(--primary-dark); background: rgba(21,61,45,.07); }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; color: var(--primary); background: white; cursor: pointer; }
.nav-toggle span { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.page-hero { padding: 56px 0 36px; background: linear-gradient(180deg,#f6f3e9,#fffefa 90%); }
.page-title, .section-title { color: var(--primary); }
.page-copy, .section-copy, .review-note { color: #59685e; }
.eyebrow { color: #8a6a23; }
.btn-primary { color: #172b20; background: var(--accent); box-shadow: 0 10px 24px rgba(185,140,49,.2); }
.btn-primary:hover { color: #142a1f; background: #e4bd63; }
.btn-outline { color: var(--primary); background: rgba(255,254,250,.9); border: 1px solid rgba(21,61,45,.32); }
.surface, .product-card, .review-panel, .info-card, .result-card, .advisor-card {
  border-radius: 18px; border-color: var(--line); background: var(--card); box-shadow: var(--shadow-soft);
}
.home-page { background: #fffefa; }
.home-hero {
  min-height: 480px; padding: 42px 0 48px; background-color: #183e2e;
  background-image: linear-gradient(90deg,rgba(11,39,27,.93) 0%,rgba(16,49,33,.81) 39%,rgba(22,57,37,.24) 100%),url("../brand/orchard-hero.png");
  background-position: center; background-size: cover;
}
.home-hero::before { inset: 0; background: linear-gradient(0deg,rgba(8,31,21,.36),transparent 42%); }
.home-hero::after { content: none; }
.home-hero-panel { width: min(1320px,calc(100% - 64px)); grid-template-columns: minmax(0,.92fr) minmax(0,1.08fr); gap: clamp(22px,4vw,60px); }
.home-hero .hero-copy-block { gap: 14px; max-width: 590px; }
.home-hero .page-title { color: #fffefa; font-size: clamp(2.4rem,5vw,4.5rem); line-height: 1.35; text-shadow: 0 3px 18px rgba(0,0,0,.24); }
.home-brand-slogan { color: #f3d788; font-size: clamp(1.15rem,1.8vw,1.52rem); font-weight: 500; }
.home-hero .page-copy { max-width: 510px; color: rgba(255,254,250,.88); font-size: 1.05rem; }
.home-hero .hero-actions { margin-top: 6px; }
.home-hero .btn-primary { background: var(--accent); color: #173323; }
.home-hero .btn-outline { color: white; border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.08); }
.home-product-stage { position: relative; min-height: 390px; display: flex; align-items: end; justify-content: center; padding: 0 16px 34px; isolation: isolate; }
.home-product-stage::before { content:""; position:absolute; z-index:-2; inset:7% 2% 12%; border-radius:50%; background:radial-gradient(ellipse,rgba(237,232,211,.9),rgba(237,232,211,.52) 40%,transparent 72%); filter:blur(8px); }
.home-product-plinth { position:absolute; z-index:-1; bottom:38px; left:7%; width:86%; height:42px; border-radius:50%; background:linear-gradient(180deg,#d7cba9,#7e795d); box-shadow:0 22px 34px rgba(4,18,11,.34); transform:perspective(250px) rotateX(13deg); }
.home-product-bag { position:absolute; bottom:68px; width:31%; height:305px; object-fit:contain; filter:drop-shadow(0 20px 14px rgba(0,0,0,.24)); }
.home-product-bag-left { left:14%; height:262px; transform:rotate(-5deg); }
.home-product-bag-right { right:13%; height:274px; transform:rotate(5deg); }
.home-product-bag-front { z-index:2; left:34%; width:34%; height:328px; }
.home-product-stage figcaption { position:absolute; bottom:0; color:rgba(255,254,250,.8); font-size:.82rem; text-align:center; }
.home-page .home-hero + .section { border-top:0; background:var(--bg); box-shadow:none; }
.home-page .home-hero + .section .section-title { color:var(--primary); }
.home-page .home-hero + .section .section-copy { color:var(--muted); }
.home-page .section { padding:clamp(34px,5vw,64px) 0; }
.home-minigame-band { border:0; border-radius:22px; background:linear-gradient(120deg,#153d2d,#214e37); }
.product-card img, .brochure-tile img, .media-slider img, .dealer-visual img, .contact-visual img, .hero-image-card img { border-radius:14px; }
.site-footer { color:#edf2e9; background:#102e21; border-top:3px solid var(--accent); }
.site-footer strong { color:white; }
.footer-links a:hover { color:#f3d788; }
@media (max-width:960px) {
  .nav { position:relative; min-height:66px; }
  .nav-toggle { display:block; margin-left:auto; }
  .nav-links { position:absolute; top:calc(100% - 1px); left:-24px; right:-24px; display:none; align-items:stretch; padding:10px 20px 18px; background:#fffefa; border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:0 16px 28px rgba(21,45,31,.12); }
  .nav-links.is-open { display:grid; }
  .nav-links a { padding:11px 14px; }
  .home-hero-panel { width:var(--container); grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); }
  .home-product-stage { min-height:340px; }
  .home-product-bag { height:250px; }
  .home-product-bag-left,.home-product-bag-right { height:218px; }
  .home-product-bag-front { height:276px; }
}
@media (max-width:680px) {
  :root { --container:calc(100% - 32px); }
  .brand { min-width:0; }
  .brand-text span { font-size:.69rem; }
  .nav-links { left:-16px; right:-16px; }
  .home-hero { min-height:auto; padding:42px 0 30px; background-position:58% center; }
  .home-hero-panel { grid-template-columns:1fr; gap:10px; }
  .home-hero .hero-copy-block { max-width:none; }
  .home-hero .page-title { font-size:clamp(2.25rem,11vw,3.3rem); }
  .home-product-stage { min-height:280px; margin-top:2px; }
  .home-product-bag { bottom:49px; height:210px; width:34%; }
  .home-product-bag-left { left:9%; height:178px; }
  .home-product-bag-right { right:8%; height:188px; }
  .home-product-bag-front { left:33%; width:36%; height:220px; }
  .home-product-plinth { bottom:43px; height:28px; }
  .home-product-stage figcaption { padding-inline:8px; font-size:.74rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; }
}

@media (max-width: 720px) {
  .site-header { overflow: visible; }
  .nav {
    width: var(--container);
    max-width: var(--container);
    margin-inline: auto;
    display: flex;
    gap: 12px;
    padding: 8px 0;
    overflow: visible;
  }
  .nav-links {
    width: auto;
    max-width: none;
    min-width: 0;
    overflow: visible;
    overflow-y: visible;
    white-space: normal;
    overscroll-behavior: auto;
  }
  .nav-links a { min-height: 44px; padding: 10px 12px; font-size: .95rem; }
  .home-hero-panel { grid-template-columns: 1fr; }
  .home-product-stage { min-height: 285px; }
  .footer-inner { align-items: flex-start; }
  .footer-brand { display: grid; gap: 2px; }
}
@media (max-width: 380px) {
  .brand-text strong { font-size: .94rem; }
  .brand-text span { font-size: .62rem; }
  .nav-toggle { flex: 0 0 42px; }
  .home-product-stage { min-height: 245px; }
}
.products-page .product-card { border: 1px solid var(--line); border-radius: 18px; background: #fffefa; box-shadow: var(--shadow-soft); }
.products-page .product-card::before { height: 3px; background: linear-gradient(90deg,var(--primary),var(--accent)); }
.products-page .product-card:hover { border-color: rgba(217,175,81,.66); box-shadow: var(--shadow); }
.products-page .product-image { border-radius: 14px; border-color: var(--line); background: #f8f6ef; }
.products-page .product-meta { color: var(--primary); background: var(--primary-soft); }
.products-page .product-card h3 { color: var(--primary); }
.products-page .product-card .btn { color: #172b20; background: var(--accent); border-color: transparent; }
.reviews-page .review-grid > article { border-color: var(--line); border-radius: 18px; background: #fffefa; box-shadow: var(--shadow-soft); }
.reviews-page .review-grid > article::before { height: 3px; background: linear-gradient(90deg,var(--primary),var(--accent)); }
.reviews-page .review-grid .section-title { color: var(--primary); }
.reviews-page .review-note { color: var(--muted); font-weight: 400; }
.reviews-page .media-slider { min-height: 540px; border: 1px solid var(--line); border-radius: 18px; background: #f5f3eb; box-shadow: var(--shadow-soft); }
.dealer-page, .contact-page { background: #fffefa; }
.dealer-page .page-hero, .contact-page .page-hero { padding-bottom: 58px; }
.dealer-page .surface, .contact-page .contact-copy-card {
  border: 1px solid var(--line); border-radius: 20px; background: #fffefa; box-shadow: var(--shadow);
}
.dealer-page .surface .page-title, .contact-page .contact-copy-card .page-title { color: var(--primary); }
.dealer-page .surface .page-copy, .contact-page .contact-copy-card .page-copy { color: #59685e; }
.dealer-page .dealer-steps li, .contact-page .contact-list li { border: 1px solid var(--line); color: var(--text); background: var(--bg); }
.dealer-page .dealer-visual, .contact-page .contact-visual { border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.dealer-page .dealer-visual img, .contact-page .contact-visual img { background: #f6f3e9; }
.dealer-page .btn-outline, .contact-page .btn-outline { color: var(--primary); background: #fffefa; border-color: rgba(21,61,45,.32); }
.footer-brand { display: grid; gap: 2px; }
.footer-brand span { color: rgba(237,242,233,.72); font-size: .85rem; }
.home-hero .home-product-bag {
  width: 29%;
  height: 286px;
  padding: 6px;
  border: 1px solid rgba(243, 234, 207, .88);
  border-radius: 10px;
  background: rgba(255, 254, 250, .96);
  object-fit: contain;
  filter: drop-shadow(0 16px 12px rgba(0,0,0,.2));
  transform: none;
}
.home-hero .home-product-bag-left { left: 2%; height: 256px; }
.home-hero .home-product-bag-front { left: 35.5%; width: 29%; height: 286px; }
.home-hero .home-product-bag-right { right: 2%; height: 268px; }
.product-visual-section { background: var(--bg); }
.product-visual-section .section-head > .btn-primary { flex: 0 0 auto; }
.crop-chooser-section { background: #fffefa; }
.crop-chooser-head { margin-bottom: 18px; }
.crop-chooser-head .eyebrow { margin: 0 0 4px; }
.crop-chooser-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.crop-chooser-card {
  min-height: 136px; display: grid; align-content: space-between; gap: 5px; padding: 18px 20px;
  border: 1px solid var(--line); border-radius: 14px; color: var(--primary); background: #fffefa;
  box-shadow: 0 8px 22px rgba(18,42,29,.06); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.crop-chooser-card:hover { transform: translateY(-3px); border-color: rgba(217,175,81,.78); box-shadow: var(--shadow-soft); }
.crop-chooser-card > span { color: #9b7a32; font-size: .8rem; font-weight: 500; }
.crop-chooser-card strong { color: var(--primary); font-size: 1.25rem; font-weight: 500; }
.crop-chooser-card small { display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-size: .86rem; }
.crop-chooser-card small b { color: var(--accent-dark); font-size: 1.15rem; font-weight: 500; }
@media (max-width: 960px) {
  .home-hero .home-product-bag { height: 230px; }
  .home-hero .home-product-bag-left { height: 206px; }
  .home-hero .home-product-bag-front { height: 230px; }
  .home-hero .home-product-bag-right { height: 216px; }
}
@media (max-width: 720px) {
  .home-hero .home-product-bag { width: 30%; bottom: 52px; height: 182px; padding: 4px; }
  .home-hero .home-product-bag-left { left: 2%; height: 162px; }
  .home-hero .home-product-bag-front { left: 35%; width: 30%; height: 182px; }
  .home-hero .home-product-bag-right { right: 2%; height: 170px; }
  .crop-chooser-grid { grid-template-columns: 1fr; gap: 9px; }
  .crop-chooser-card { min-height: 86px; grid-template-columns: 34px 1fr auto; align-items: center; padding: 14px 16px; }
  .crop-chooser-card small { display: block; text-align: right; }
  .crop-chooser-card small b { margin-left: 4px; }
}
@media (max-width: 380px) {
  .home-hero .home-product-bag { bottom: 49px; height: 158px; }
  .home-hero .home-product-bag-left { height: 146px; }
  .home-hero .home-product-bag-front { height: 158px; }
  .home-hero .home-product-bag-right { height: 150px; }
}
.product-empty-state:not([hidden]) { margin: 8px 0 20px; padding: 18px 20px; border: 1px dashed rgba(21,61,45,.28); border-radius: 14px; color: var(--muted); background: var(--bg); }


/* National Khunsuek identity: warrior charcoal, field green, disciplined gold. */
:root {
  --primary: #143626;
  --primary-dark: #0a1e15;
  --primary-soft: #e8eee8;
  --accent: #d6ad40;
  --accent-dark: #9c7721;
  --bg: #f4f1e8;
  --bg-soft: #e8ebe5;
  --text: #17231d;
  --muted: #59675f;
  --card: #fffefa;
  --line: rgba(20,54,38,.2);
  --radius: 12px;
}
body { background: #f4f1e8; }
.site-header, .home-page .site-header {
  color: #fffefa; background: rgba(10,25,18,.98); border-bottom: 2px solid var(--accent);
  box-shadow: 0 6px 20px rgba(0,0,0,.22); backdrop-filter: blur(16px);
}
.brand-logo { border-radius: 4px; border: 1px solid rgba(214,173,64,.7); }
.brand-text strong, .home-page .brand-text strong { color: #fffefa; }
.brand-text span, .home-page .brand-text span { color: #efcf76; }
.nav-links a, .home-page .nav-links a { color: #f6f3e9; border-radius: 5px; }
.nav-links a:hover, .nav-links a.is-active, .nav-links a[aria-current="page"],
.home-page .nav-links a:hover, .home-page .nav-links a.is-active, .home-page .nav-links a[aria-current="page"] {
  color: #fffefa; background: rgba(214,173,64,.12); box-shadow: inset 0 -2px var(--accent);
}
.nav-toggle { color: #fffefa; background: #193b2a; border-color: rgba(214,173,64,.55); border-radius: 5px; }
.nav-toggle span { background: currentColor; }
.page-hero {
  color: #fffefa; background-color: #10281c;
  background-image: linear-gradient(90deg,rgba(8,24,16,.92),rgba(12,34,22,.77)),url("../brand/orchard-hero.png");
  background-position: center; background-size: cover;
}
.products-page .page-hero, .reviews-page .page-hero {
  background-image: linear-gradient(90deg,rgba(5,17,11,.96),rgba(8,25,16,.9) 54%,rgba(12,31,19,.72)),url("../brand/orchard-hero.png");
  background-position: center; background-size: cover;
}
.page-hero .page-title, .page-hero .section-title { color: #fffefa; font-weight: 600; }
.page-hero .page-copy, .page-hero .section-copy { color: rgba(255,254,250,.87); }
.page-hero .eyebrow { color: #efcf76; }
.hero-image-card, .product-brochure-card, .dealer-visual, .contact-visual { border-radius: 8px; border-color: rgba(214,173,64,.55); }
.surface, .product-card, .review-panel, .info-card, .result-card, .advisor-card { border-radius: 10px; }
.btn, .filter-tab, .search-input, .form-control { border-radius: 6px; }
.btn-primary { color: #111d15; background: var(--accent); border-color: #bd9330; box-shadow: 0 4px 0 #805f1d; }
.btn-primary:hover { color: #111d15; background: #e4bd58; }
.btn-outline { color: var(--primary); border-radius: 6px; border-color: rgba(20,54,38,.45); }
.site-footer { background: #0a1b13; border-top: 3px solid var(--accent); }
.site-footer .footer-brand span { color: #efcf76; }
body, body *, body *::before, body *::after {
  font-family: 'Kanit', sans-serif !important;
  letter-spacing: 0 !important;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.6 !important;
}
.home-hero {
  background-image: linear-gradient(90deg,rgba(5,22,14,.94) 0%,rgba(8,30,18,.81) 44%,rgba(13,39,24,.22) 100%),url("../brand/orchard-hero.png");
}
.home-hero .page-title { font-weight: 600; }
.home-brand-slogan { border-top: 2px solid var(--accent); border-bottom: 1px solid rgba(214,173,64,.3); width: fit-content; padding-block: 7px; }
.home-product-bag { border-radius: 4px; }
.crop-chooser-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.crop-chooser-card { border-radius: 7px; border-left: 3px solid var(--accent); box-shadow: 0 4px 12px rgba(12,30,20,.09); }
.crop-chooser-card:hover { transform: translateY(-2px); }
.products-page .product-page-hero { padding-block: 28px; }
.products-page .product-page-hero .hero-panel { align-items: center; }
.products-page .product-page-hero .product-brochure-card { height: 190px; }
.products-page .product-page-hero .product-brochure-card img { width: 100%; height: 100%; object-fit: contain; background: #fffefa; }
.products-page .toolbar { padding: 18px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: 8px; background: #fffefa; }
.products-page .search-input { flex: 1 1 300px; max-width: none; }
.products-page .search-reset { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 5px; color: var(--primary); background: #fffefa; cursor: pointer; }
.products-page .search-reset:hover { border-color: var(--accent-dark); background: var(--bg); }
.products-page .product-card { border-radius: 8px; }
.products-page .product-image { border-radius: 5px; background: #f5f3ed; }
.product-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.product-card-actions .btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; flex: 1 1 145px; padding-inline: 12px; border-radius: 5px; text-align: center; }
.product-image-zoom { position: absolute; z-index: 2; right: 9px; bottom: 9px; min-height: 44px; padding: 8px 12px; border: 1px solid rgba(10,27,19,.48); border-radius: 4px; color: #fffefa; background: rgba(10,27,19,.94); box-shadow: 0 2px 7px rgba(0,0,0,.18); cursor: zoom-in; }
.product-image-zoom:hover { background: var(--primary); }
.filter-tab { border-radius: 5px; }
.filter-tab[aria-pressed="true"] { color: #fffefa; background: var(--primary); border-color: var(--primary); }
.calculator-intro { padding: 20px 0 10px; color: #fffefa; background-color: #10281c; background-image: linear-gradient(90deg,rgba(8,24,16,.94),rgba(12,34,22,.84)),url("../brand/orchard-hero.png"); background-position: center 56%; background-size: cover; }
.calculator-intro-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 20px; align-items: center; border-bottom: 1px solid rgba(214,173,64,.58); padding-bottom: 14px; }
.calculator-intro .page-title { margin: 0; color: #fffefa; font-size: clamp(1.8rem,3vw,2.6rem); }
.calculator-intro .page-copy { margin: 0; color: rgba(255,254,250,.88); }
.calculator-page .calculator-section { padding-top: 10px; }
.calculator-grid { gap: 16px; }
.calculator-form-card { border: 1px solid rgba(214,173,64,.65); border-top: 4px solid var(--accent); box-shadow: 0 8px 24px rgba(15,33,23,.1); }
.calculator-result-panel { border: 1px solid rgba(20,54,38,.22); border-top: 4px solid var(--primary); border-radius: 9px; padding: 18px; background: #fffefa; }
.calculator-form-card .btn-primary { width: 100%; margin-top: 14px; }
.app-install-section { padding-top: 10px; }
.app-install-card { border-radius: 8px; border-left: 4px solid var(--accent); }
.app-install-actions p { max-width: 280px; }
.reviews-page .review-grid > article, .reviews-page .review-panel { border-radius: 8px; }
.reviews-page .media-slider { min-height: 380px; border-radius: 7px; }
.review-evidence { padding: 0 0 30px; }
.review-evidence .container { padding: 14px 18px; border-left: 3px solid var(--accent); background: #e9ede8; }
.review-evidence p { margin: 0; color: #3d4b41; }
.dealer-page .page-hero, .contact-page .page-hero { background-image: linear-gradient(90deg,rgba(8,24,16,.92),rgba(12,34,22,.82)),url("../brand/orchard-hero.png"); }
.dealer-page .dealer-grid, .contact-page .contact-grid { align-items: center; }
.dealer-page .surface, .contact-page .contact-copy-card { border-radius: 9px; border-top: 4px solid var(--accent); }
.dealer-page .surface .page-title, .contact-page .contact-copy-card .page-title { color: var(--primary); }
.dealer-page .surface .page-copy, .contact-page .contact-copy-card .page-copy { color: #536157; }
.dealer-page .dealer-steps li, .contact-page .contact-list li { display: grid; gap: 3px; border-radius: 5px; border-left: 3px solid var(--accent); }
.dealer-page .dealer-steps li strong, .contact-page .contact-list li strong { color: var(--primary); }
.dealer-page .dealer-steps li span, .contact-page .contact-list li span { color: #57645a; }
.dealer-page .dealer-visual img, .contact-page .contact-visual img { object-fit: contain; background: #fffefa; }
.contact-page .contact-copy-card { display: grid; gap: 12px; }
.product-image-zoom { border-radius: 5px; }
.image-viewer-dialog__backdrop { position: fixed; z-index: 1200; inset: 0; display: grid; place-items: center; padding: 24px; background: rgba(3,14,9,.88); }
.image-viewer-dialog { position: relative; display: grid; gap: 12px; width: min(960px,100%); max-height: 92vh; padding: 16px; border: 1px solid var(--accent); border-radius: 8px; color: var(--text); background: #fffefa; overflow-y: auto; }
.image-viewer-dialog[open] { position: fixed; inset: 0; display: grid; place-items: center; width: min(100% - 32px, 960px); max-width: none; max-height: none; margin: auto; padding: 18px; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.image-viewer-dialog[open]::backdrop { background: rgba(3,14,9,.88); }
.image-viewer-dialog__panel { display: grid; gap: 12px; width: 100%; min-width: 0; max-height: 92vh; padding: 16px; border: 1px solid var(--accent); border-radius: 8px; color: var(--text); background: #fffefa; overflow-y: auto; }
.image-viewer-dialog__close, .slider-control { min-width: 44px; min-height: 44px; border: 1px solid var(--line); border-radius: 5px; color: #fffefa; background: var(--primary); cursor: pointer; }
.image-viewer-dialog__close { justify-self: end; color: #fff4d8; background: #102d22; border-color: #8b784e; }
.image-viewer-dialog[open] .image-viewer-dialog__close:focus-visible { outline: 3px solid #102d22; outline-offset: 3px; }
.image-viewer-dialog__image { display: block; width: 100%; max-height: 78vh; object-fit: contain; }
.image-viewer-dialog__stage { min-width: 0; }
.image-viewer-dialog__feedback { display: grid; justify-items: center; align-content: center; gap: 18px; min-height: 210px; padding: 24px 16px; border: 1px solid #8b784e; border-radius: 6px; color: #fff4d8; background: #102d22; text-align: center; }
.image-viewer-dialog__status { max-width: 42ch; margin: 0; font-size: 1rem; line-height: 1.65; }
.image-viewer-dialog__retry { min-height: 44px; max-width: 100%; padding: 10px 18px; border: 1px solid #d3b36e; border-radius: 5px; color: #12281e; background: #e6cb8c; font: inherit; font-weight: 600; line-height: 1.55; cursor: pointer; }
.image-viewer-dialog__retry:hover { background: #f4dfaa; }
.image-viewer-dialog__retry:focus-visible { outline: 3px solid #fff4d8; outline-offset: 4px; }
.image-viewer-dialog__feedback[hidden], .image-viewer-dialog__retry[hidden], .image-viewer-dialog__image[hidden] { display: none; }
.media-slider.auto-media-slider, .reviews-page .media-slider.auto-media-slider { display: flex; flex-direction: column; align-items: stretch; gap: 0; height: auto; min-height: 0; padding: 8px; overflow: visible; }
.media-slider.auto-media-slider .slider-image.is-active { position: relative; inset: auto; display: block; flex: 0 1 auto; width: 100%; height: auto; min-height: 0; max-height: min(70vh,700px); padding: 0; object-fit: contain; opacity: 1; }
.media-slider.auto-media-slider .slider-controls,
.media-slider.auto-media-slider .slider-dots,
.media-slider.auto-media-slider .slider-status { position: relative; inset: auto; z-index: auto; width: 100%; margin: 0; transform: none; }
.media-slider.auto-media-slider .slider-controls { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 54px; border-top: 1px solid var(--line); }
.media-slider.auto-media-slider .slider-dots { display: grid; grid-template-columns: repeat(auto-fit,minmax(44px,1fr)); width: min(100%,448px); margin-inline: auto; justify-content: center; gap: 2px; }
.media-slider.auto-media-slider .slider-status { padding: 2px 6px 5px; text-align: center; }
.slider-dots button, .slider-dot { position: relative; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 5px; background: transparent; cursor: pointer; }
.slider-dots button.slider-dot.is-active { width: 44px; min-width: 44px; height: 44px; min-height: 44px; background: transparent; }
.slider-dots button::before, .slider-dot::before { content: ""; width: 11px; height: 11px; border: 1px solid var(--primary); border-radius: 50%; background: #fffefa; }
.slider-dot[aria-current="true"]::before, .slider-dots button[aria-current="true"]::before { background: var(--accent); box-shadow: 0 0 0 2px var(--primary); }
.slider-status { position: absolute; z-index: 3; top: 10px; right: 12px; padding: 4px 9px; border-radius: 4px; color: #fffefa; background: rgba(10,27,19,.9); }
.media-slider .slider-image[aria-hidden="true"], .media-slider .slider-image[inert] { display: none; }
@media (max-width: 820px) {
  .crop-chooser-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .calculator-intro-inner { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 600px) {
  .products-page .product-page-hero { padding-block: 20px; }
  .products-page .product-page-hero .product-brochure-card { height: 140px; }
  .crop-chooser-grid { grid-template-columns: 1fr; }
  .calculator-grid { gap: 12px; }
  .calculator-result-panel { padding: 14px; }
  .reviews-page .media-slider { min-height: 0; }
  .home-page .brochure-gallery { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; overflow: visible; scroll-snap-type: none; gap: 12px; }
  .home-page .brochure-tile { width: 100%; }
  .home-page .brochure-tile img { height: 210px; }
  .image-viewer-dialog__backdrop { padding: 10px; }
  .image-viewer-dialog { padding: 10px; }
  .image-viewer-dialog[open] { width: calc(100% - 12px); padding: 6px; }
  .image-viewer-dialog__panel { padding: 10px; }
}
@media (max-width: 960px) {
  .nav-links, .nav-links.is-open { color: #fffefa; background: #0a1b13; border-color: rgba(214,173,64,.48); }
  .nav-links a { color: #fffefa; }
}

/* Homepage brand presentation. Other pages retain their existing layouts. */
.home-page .nav { min-height: 88px; }
.home-page .brand { gap: 14px; }
.home-page .brand-logo { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; border: 1px solid #d6ad40; background: #062b19; box-shadow: 0 0 0 4px rgba(214,173,64,.07); }
.home-page .brand-logo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.home-page .brand-text strong { font-size: 1.4rem; color: #f3d788; }
.home-page .brand-text span { font-size: .8rem; }
.home-page .home-hero { min-height: 580px; padding: 64px 0 42px; background-color: #071b13; background-image: linear-gradient(90deg,rgba(4,18,12,.98) 5%,rgba(5,23,15,.92) 36%,rgba(5,23,15,.48) 76%,rgba(5,23,15,.62)),url('../../รีวิวร้านค้า/reviewA02.jpg'); background-position: center,center 58%; }
.home-page .home-hero-panel { width: min(1320px,calc(100% - 96px)); grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 42px; align-items: center; }
.home-page .home-hero .hero-copy-block { gap: 16px; }
.home-page .home-hero .page-title { margin: 0; font-size: clamp(3.4rem,5.7vw,5.5rem); font-weight: 600; }
.home-page .home-brand-slogan { position: relative; margin: 0; padding: 14px 0 0; border: 0; font-size: clamp(1.25rem,2.1vw,1.85rem); color: #f3d788; }
.home-page .home-brand-slogan::before { content: ''; position: absolute; left: 0; top: 0; width: 72px; height: 3px; background: #d6ad40; }
.home-page .home-hero .page-copy { margin: 0; max-width: 470px; font-size: 1.125rem; color: #f5f4ed; }
.home-page .home-hero .hero-actions { gap: 12px; margin-top: 12px; }
.home-page .home-hero .btn { min-height: 52px; padding: 12px 24px; border-radius: 6px; font-size: 1.05rem; }
.home-page .home-hero .btn-primary { background: linear-gradient(150deg,#edc965,#d6ad40); box-shadow: 0 3px 0 #8c6a24,0 10px 22px rgba(0,0,0,.15); }
.home-page .home-hero .btn-outline { border-color: #ead596; background: rgba(5,23,15,.5); }
.home-page .home-product-stage { min-height: 450px; margin: 0; padding: 0 0 36px; }
.home-page .home-product-stage::before { inset: 9% 4% 16%; background: radial-gradient(ellipse,rgba(251,231,171,.35),transparent 70%); }
.home-page .home-product-plinth { left: 0; width: 100%; bottom: 45px; height: 28px; background: linear-gradient(#eee5ce,#b2a584); box-shadow: 0 18px 25px rgba(0,0,0,.35); }
.home-page .home-hero .home-product-bag { bottom: 63px; width: 31%; height: 324px; padding: 12px 8px; border: 1px solid #d5b866; border-radius: 14px 14px 5px 5px; background: #fffefa; filter: drop-shadow(0 16px 12px rgba(0,0,0,.18)); }
.home-page .home-hero .home-product-bag-left { left: 0; height: 324px; }
.home-page .home-hero .home-product-bag-front { left: 34.5%; width: 31%; height: 366px; }
.home-page .home-hero .home-product-bag-right { right: 0; height: 324px; }
.home-page .home-product-stage figcaption { bottom: 0; width: 100%; font-size: .8rem; color: #f5f4ed; }
.home-page .product-visual-section .section-head { align-items: center; margin-bottom: 28px; }
.home-page .section .eyebrow { color: #82601b; }
.home-page .brochure-tile { border: 1px solid rgba(20,54,38,.09); border-radius: 14px; box-shadow: 0 12px 28px rgba(18,42,29,.08); }
.home-page .brochure-tile img { padding: 16px; background: #fffefa; object-fit: contain; }
.home-page .brochure-tile-copy { padding: 18px 20px; }
.home-page .crop-chooser-card { min-height: 112px; padding: 16px 20px; box-shadow: 0 3px 10px rgba(18,42,29,.04); }
.home-page .review-grid { align-items: center; }
.home-page .review-grid > .surface { border: 0; background: transparent; box-shadow: none; padding: 24px 0; }
.home-page .brand-logo { background: #fff; }
.home-brand-emblem { display: grid; place-items: center; margin: 0; padding: 24px; }
.home-brand-seal { position: relative; width: min(100%,420px); aspect-ratio: 1; padding: 22px; border: 2px solid #d6ad40; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px rgba(8,28,17,.55),0 0 0 10px rgba(231,195,98,.5),0 28px 60px rgba(0,0,0,.4); }
.home-brand-seal::after { content: ''; pointer-events: none; position: absolute; inset: -18px; border: 1px solid rgba(237,209,144,.4); border-radius: 50%; }
.home-brand-seal img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 50%; }
.home-review-link { width: fit-content; padding-block: 10px; color: #ded2b1; font-size: .875rem; text-underline-offset: 5px; text-decoration: underline; }
.home-review-link:hover { color: #fff; }
.topic-page-poster { display: block; overflow: hidden; border: 1px solid rgba(214,173,64,.45); border-radius: 10px; box-shadow: 0 16px 32px rgba(0,0,0,.2); }
.topic-page-poster img { display: block; width: 100%; height: auto; object-fit: contain; }
.calculator-page .calculator-intro { padding-block: 32px; }
.calculator-page .calculator-intro-inner { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 36px; border-bottom: 0; padding-bottom: 0; }
.calculator-page .calculator-intro .page-copy { margin-top: 12px; }
.products-page .product-page-hero { padding-block: 36px; }
#productCatalog,#calculatorForm { scroll-margin-top: 110px; }
.catalog-brochure { margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.catalog-brochure summary { padding: 16px 4px; cursor: pointer; color: var(--primary); }
.catalog-brochure .product-brochure-card { max-width: 720px; margin: 0 auto 20px; }
.catalog-brochure img { display: block; width: 100%; max-height: 600px; object-fit: contain; }
.catalog-brochure .brochure-caption { color: #143626; }
.product-showcase-section { background: #f4f1e8; }
.showcase-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.showcase-controls button { min-height: 44px; padding: 8px 16px; border: 1px solid #997622; border-radius: 6px; color: #143626; background: #fffefa; cursor: pointer; }
.showcase-controls button:hover { background: #f0dfad; }
.showcase-stage { position: relative; height: 480px; overflow: hidden; border: 1px solid #c8b06e; border-radius: 14px; background: radial-gradient(ellipse at 50% 35%,#34513d,#071a12 80%); }
[data-showcase-canvas] { position: absolute; inset: 0; }
[data-showcase-canvas] canvas { display: block; width: 100%; height: 100%; }
.showcase-originals { display: grid; grid-template-columns: 1fr 1fr; height: 100%; padding: 28px; gap: 30px; }
.showcase-originals figure { margin: 0; min-height: 0; display: grid; place-items: center; }
.showcase-originals img { display: block; max-height: 400px; width: 100%; height: 100%; object-fit: contain; }
[data-showcase-state="ready"] .showcase-originals { visibility: hidden; }
.showcase-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; text-align: center; padding-top: 16px; }
.showcase-labels a { color: #143626; font-size: 1.4rem; font-weight: 600; }
.showcase-labels span { display: block; font-size: .85rem; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.showcase-status { color: #59675f; text-align: center; font-size: .82rem; min-height: 1.6em; }
@media (max-width: 960px) {
  .products-page .nav,.calculator-page .nav { display: flex; flex-wrap: nowrap; }
}
@media (max-width: 600px) {
  .showcase-stage { height: 340px; }
  .showcase-originals { padding: 18px 10px; gap: 14px; }
  .showcase-controls button { padding-inline: 12px; }
}
@media (max-width: 820px) {
  .calculator-page .calculator-intro-inner { grid-template-columns: 1fr; gap: 24px; }
  .topic-page-poster { max-width: 640px; margin-inline: auto; }
  .products-page .search-input { flex: 0 0 auto; width: 100%; min-height: 48px; }
}
.home-topic-poster { display: block; margin: 0 0 30px; border: 1px solid rgba(156,119,33,.4); border-radius: 14px; overflow: hidden; background: #143626; box-shadow: 0 14px 32px rgba(18,42,29,.12); }
.home-topic-poster img { display: block; width: 100%; height: auto; object-fit: contain; }
.home-topic-poster:hover { box-shadow: 0 16px 36px rgba(18,42,29,.2); }
.home-topic-poster:focus-visible { outline-color: #9c7721; }
.home-topic-poster-calculator { max-width: 960px; margin-inline: auto; }
@media (max-width: 1100px) {
  .home-page .home-hero-panel { width: var(--container); gap: 24px; }
  .home-page .home-hero .page-title { font-size: 3.5rem; }
  .home-page .home-product-stage { min-height: 390px; }
  .home-page .home-hero .home-product-bag-left,.home-page .home-hero .home-product-bag-right { height: 260px; }
  .home-page .home-hero .home-product-bag-front { height: 300px; }
}
@media (min-width: 721px) and (max-width: 960px) {
  .home-page .nav { display: flex; flex-wrap: nowrap; }
  .home-page .nav-toggle { flex: 0 0 44px; }
}
@media (max-width: 720px) {
  .home-page .nav { min-height: 74px; padding-block: 8px; }
  .home-page .brand { gap: 10px; }
  .home-page .brand-logo { width: 48px; height: 48px; flex-basis: 48px; }
  .home-page .brand-text strong { font-size: 1.12rem; }
  .home-page .brand-text span { display: block; font-size: .66rem; }
  .home-page .home-hero { min-height: auto; padding: 32px 0 26px; background-position: 58% center; }
  .home-page .home-hero-panel { grid-template-columns: 1fr; gap: 22px; }
  .home-page .home-hero .hero-copy-block { gap: 12px; }
  .home-page .home-hero .page-title { font-size: clamp(2.5rem,10.4vw,3.6rem); }
  .home-page .home-brand-slogan { font-size: 1.2rem; padding-top: 12px; }
  .home-page .home-hero .page-copy { font-size: 1rem; }
  .home-page .home-hero .hero-actions { display: grid; grid-template-columns: 1fr 1fr; margin-top: 4px; }
  .home-page .home-hero .btn { min-height: 48px; padding: 10px 12px; font-size: .95rem; }
  .home-brand-emblem { padding: 22px; }
  .home-brand-seal { width: min(100%,286px); padding: 16px; }
  .home-topic-poster { margin-bottom: 22px; border-radius: 9px; }
  .home-page .home-product-stage { min-height: 282px; }
  .home-page .home-hero .home-product-bag { bottom: 50px; padding: 6px 4px; border-radius: 9px 9px 4px 4px; }
  .home-page .home-hero .home-product-bag-left,.home-page .home-hero .home-product-bag-right { height: 188px; }
  .home-page .home-hero .home-product-bag-front { height: 220px; }
  .home-page .home-product-plinth { bottom: 34px; height: 24px; }
  .home-page .home-product-stage figcaption { font-size: .68rem; padding: 0; }
  .home-page .product-visual-section .section-head { align-items: flex-start; }
  .home-page .brochure-tile-copy { padding: 14px 16px; }
  .home-page .crop-chooser-card { min-height: 68px; grid-template-columns: 24px 1fr auto; padding: 12px 14px; }
  .home-page .crop-chooser-card strong { font-size: 1.05rem; }
  .home-page .crop-chooser-card small { font-size: .73rem; }
  .home-page .review-grid > .surface { padding-block: 0; }
}
@media (max-width: 360px) {
  .home-page .brand-text span { font-size: .58rem; }
  .home-page .brand-text strong { font-size: 1rem; }
  .home-page .home-hero .home-product-bag-left,.home-page .home-hero .home-product-bag-right { height: 164px; }
  .home-page .home-hero .home-product-bag-front { height: 190px; }
  .home-page .home-product-stage { min-height: 250px; }
  .home-page .home-brand-slogan { font-size: 1.05rem; }
}

/* Owner supplied video channel */
.video-channel{background:#f4f0e6}.video-channel section,.video-channel{scroll-margin-top:110px}.video-categories{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 32px}.video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.video-category-title{font-size:1.6rem;margin:32px 0 16px;color:#153d2d}.video-card{background:#fff;border:1px solid #ddcfad;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #153d2d0d}.video-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:radial-gradient(ellipse at center,#214b36,#071b13)}.video-card-copy{padding:18px 22px}.video-card h3{margin:0 0 8px;font-size:1.15rem}.video-card a{color:#153d2d;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}.video-card [hidden]{display:none}.video-card-copy p{color:#8a3025}.home-review-link+.home-review-link{margin-left:16px}@media(max-width:600px){.video-grid{grid-template-columns:1fr}.video-card-copy{padding:14px 18px}.home-review-link+.home-review-link{margin-left:0;display:block}}
.home-page .hero-actions .btn{min-height:52px;padding:14px 28px;font-size:1.1rem}.home-page .hero-actions .btn-outline{background:#f8efd9;color:#163a28;border-color:#d8bd73}

/* Botanical illustrations identify the existing calculator crops without changing guidance. */
.home-page .crop-chooser-card--illustrated {
  min-height: 250px; grid-template-columns: minmax(0,1fr); gap: 12px; align-content: start;
  padding: 10px; border: 1px solid #b99b59; border-radius: 14px;
  background: linear-gradient(145deg,#183d2b,#0c2b1f); box-shadow: 0 5px 18px #173c291a;
  line-height: 1.55; word-break: keep-all; overflow-wrap: break-word;
}
.home-page .crop-chooser-card--illustrated .crop-chooser-media {
  display: flex; width: 100%; height: 150px; align-items: center; justify-content: center;
  padding: 9px; border-radius: 10px 10px 0 0; background: radial-gradient(ellipse,#78935c 0%,#335b3d 58%,#153a27 100%);
}
.home-page .crop-chooser-card--illustrated .crop-chooser-media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.home-page .crop-chooser-card--illustrated .crop-chooser-details { display: grid; min-width: 0; gap: 3px; padding: 10px 12px; border-radius: 0 0 9px 9px; background: #e8e1cc; }
.home-page .crop-chooser-card--illustrated .crop-chooser-number { color: #846424; font-size: .76rem; line-height: 1.55; }
.home-page .crop-chooser-card--illustrated strong { font-size: 1.22rem; line-height: 1.55; }
.home-page .crop-chooser-card--illustrated small { display: flex; text-align: left; gap: 8px; font-size: .82rem; line-height: 1.55; }
.home-page .crop-chooser-card--illustrated:focus-visible { outline: 3px solid #a87822; outline-offset: 4px; }
@media (max-width: 720px) {
  .home-page .crop-chooser-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .home-page .crop-chooser-card--illustrated { min-height: 188px; grid-template-columns: minmax(0,1fr); align-content: start; gap: 0; padding: 8px; }
  .home-page .crop-chooser-card--illustrated .crop-chooser-media { height: 110px; padding: 4px; }
  .home-page .crop-chooser-card--illustrated .crop-chooser-details { padding: 8px; }
  .home-page .crop-chooser-card--illustrated .crop-chooser-number { display: none; }
  .home-page .crop-chooser-card--illustrated strong { font-size: 16px; line-height: 1.55; }
  .home-page .crop-chooser-card--illustrated small { font-size: 13px; line-height: 1.55; }
  .products-page .filter-tab { display: inline-flex; min-height: 48px; min-width: 44px; align-items: center; justify-content: center; padding: 10px 14px; line-height: 1.55; }
  .site-header .nav .nav-toggle { flex: 0 0 44px; min-width: 44px; min-height: 44px; }
  .slider-dots button.slider-dot, .slider-dots button.slider-dot.is-active { width: 44px; min-width: 44px; height: 44px; min-height: 44px; background: transparent; }
}

.video-channel [hidden]{display:none!important}.video-back{margin-top:24px}

.factory-section{background:#09261b;color:#f6efdf}.factory-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:54px;align-items:center}.factory-photo{margin:0}.factory-photo img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #a88c48}.factory-photo figcaption,.factory-source{font-size:.8rem;color:#c8cbb9;margin-top:12px}.factory-copy .section-title{color:#fff5dc;font-size:clamp(2rem,3.2vw,3rem);line-height:1.55}.factory-company{color:#e7cc83;font-size:1.25rem}.factory-copy address{font-style:normal;line-height:1.85}.factory-phone{display:inline-flex;min-height:48px;align-items:center;color:#f5e6b8}.factory-copy .btn-outline{background:#fff7e3;color:#173c2a}@media(max-width:820px){.factory-layout{grid-template-columns:1fr;gap:28px}}

.video-feature{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;padding:28px;margin-top:28px;background:#0b2c20;border:1px solid #c4a45c;border-radius:20px;color:#fff5db;box-shadow:0 18px 40px #153d2d20}.video-feature-copy{align-self:center}.video-feature-copy h3{font-size:1.8rem;line-height:1.55;color:#fff5db;margin:10px 0}.video-feature-copy .eyebrow{color:#edcc7b}.video-feature-copy .btn{display:flex;margin-top:12px;min-height:48px;justify-content:center}.video-feature-copy .btn-outline{color:#fff5db;border-color:#c4a45c}.video-feature .video-card{border:0}.video-feature video{aspect-ratio:4/3}.video-feature .video-card-copy h3{display:none}@media(max-width:700px){.video-feature{grid-template-columns:1fr;padding:16px;gap:18px}.video-feature-copy h3{font-size:1.4rem}}
.video-feature-copy .btn-outline{background:#173d2c;color:#fff5db}.video-feature-copy .btn-outline:hover{background:#24563f}

/* WEB225: factory media recovery only; original site art and layout retained. */
.factory-media .factory-photo-fallback[data-factory-photo-fallback] { display:grid; justify-items:center; align-content:center; gap:16px; width:100%; min-height:260px; height:auto; aspect-ratio:auto; box-sizing:border-box; margin:0; padding:24px; border:1px solid #a88c48; border-radius:14px; background:radial-gradient(ellipse at top,#224836,#10291e 75%); color:#e0d9c0; text-align:center; line-height:1.7; }
.factory-media [data-factory-photo-status] { margin:0; max-width:38ch; }
.factory-media .factory-fallback-mark { display:block; flex:none; width:64px; height:64px; object-fit:contain; border:1px solid #d6b66d; border-radius:10px; background:#fff; padding:4px; box-sizing:border-box; }
.factory-media .factory-recovery-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; width:100%; margin-top:14px; }
.factory-media .factory-photo-fallback .factory-recovery-actions { margin-top:0; }
.factory-media .factory-media-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; min-width:0; max-width:100%; box-sizing:border-box; padding:.55rem .9rem; border:1px solid #b6995b; border-radius:8px; background:#15372a; color:#f1d99f; font:inherit; font-weight:500; line-height:1.6; text-align:center; text-decoration:none; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.factory-media .factory-media-button:hover { background:#234c38; color:#fff0c6; }
.factory-media .factory-media-button:focus-visible { outline:3px solid #f0ce87; outline-offset:3px; }
.factory-media .factory-media-button[aria-disabled="true"] { opacity:.7; cursor:progress; }
.factory-media .factory-media-status { margin:12px 2px 0; color:#bdcdbd; font-size:.875rem; line-height:1.7; }
.factory-media .company-map-frame.factory-map-show-location { aspect-ratio:auto; }
.factory-media .factory-map-location { display:grid; justify-items:center; align-content:center; gap:12px; min-height:280px; width:100%; box-sizing:border-box; padding:28px 20px; background:radial-gradient(ellipse at top,#244c37,#10291e 75%); color:#e8e5ce; text-align:center; line-height:1.7; }
.factory-media .factory-map-location strong { color:#e4c67e; font-size:1.375rem; line-height:1.6; }
.factory-media .factory-map-location small { color:#bdcdbd; font-size:.875rem; }
.factory-media [data-factory-photo-fallback][hidden],.factory-media [data-factory-photo-retry][hidden],.factory-media [data-factory-map-location][hidden],.factory-media [data-factory-map-controls][hidden],.factory-media [data-factory-map-status][hidden],.factory-media [data-factory-map-retry][hidden] { display:none !important; }
