:root {
  color-scheme: light;
  --green: #185f38;
  --green-dark: #0c3d24;
  --cream: #f6f3e8;
  --ink: #183025;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--cream); }
.site-header {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem max(5vw, 1rem); background: #fff;
}
.brand { color: var(--green-dark); font-size: 1.25rem; font-weight: 800; text-decoration: none; }
nav { display: flex; gap: 1rem; }
nav a { color: var(--ink); text-decoration: none; }
.hero { padding: clamp(4rem, 10vw, 8rem) max(6vw, 1.25rem); background: linear-gradient(135deg, #e6f0df, #f8edc7); }
.hero h1 { max-width: 780px; font-size: clamp(2.2rem, 6vw, 4.8rem); line-height: 1.05; margin: .4rem 0 1rem; }
.eyebrow { font-weight: 800; letter-spacing: .14em; color: var(--green); }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.button { padding: .85rem 1.1rem; border-radius: .7rem; text-decoration: none; font-weight: 700; }
.primary { background: var(--green); color: #fff; }
.secondary { border: 1px solid var(--green); color: var(--green); background: #fff; }
.panel { padding: 2.5rem max(6vw, 1.25rem); background: #fff; border-top: 1px solid #e1e7df; }
@media (max-width: 650px) { .desktop-nav { display: none; } }

.page-heading { padding: 3.5rem max(6vw, 1.25rem) 2rem; }
.page-heading h1 { font-size: clamp(2rem, 5vw, 3.7rem); margin: .35rem 0; }
.listing { padding: 1rem max(6vw, 1.25rem) 4rem; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.card { background: #fff; border: 1px solid #dce5dc; border-radius: 1rem; padding: 1.25rem; }
.card h2 { margin-top: 0; font-size: 1.2rem; }
.price { color: var(--green); font-weight: 800; }
.empty-state { background: #fff; border-radius: 1rem; padding: 2rem; color: #52645a; }

.auth-panel, .admin-shell { padding: 3rem max(6vw, 1.25rem); }
.auth-card { max-width: 440px; margin: 0 auto; padding: 2rem; background: #fff; border-radius: 1rem; }
.auth-card label { display: grid; gap: .4rem; margin: 1rem 0; font-weight: 700; }
.auth-card input { width: 100%; padding: .85rem; border: 1px solid #b9c8bc; border-radius: .6rem; font: inherit; }
.auth-card button { border: 0; cursor: pointer; }
.form-error { color: #9a241c; background: #fff0ed; padding: .75rem; border-radius: .5rem; }
.admin-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin: 2rem 0; }

.section-head { display: flex; justify-content: space-between; align-items: end; gap: 1rem; }
.card-link { color: inherit; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease; }
.card-link:hover { transform: translateY(-2px); box-shadow: 0 10px 26px #174d2c17; }
.table-wrap { overflow-x: auto; background: #fff; border-radius: 1rem; border: 1px solid #dce5dc; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid #e6ebe6; }
th { color: #536459; font-size: .86rem; text-transform: uppercase; letter-spacing: .04em; }
.status { display: inline-flex; padding: .3rem .6rem; border-radius: 999px; font-size: .82rem; font-weight: 750; }
.status-draft { color: #725d27; background: #fff3ca; }
.status-published { color: #17603a; background: #dbf3e4; }
.status-hidden { color: #616b65; background: #edf0ee; }
.editor-form { max-width: 860px; display: grid; gap: 1rem; }
.editor-form label { display: grid; gap: .45rem; font-weight: 720; }
.editor-form input, .editor-form select, .editor-form textarea {
  width: 100%; padding: .85rem; border: 1px solid #b9c8bc; border-radius: .65rem;
  background: #fff; color: var(--ink); font: inherit;
}
.editor-form textarea { resize: vertical; line-height: 1.55; }
@media (max-width: 650px) { .section-head { align-items: stretch; flex-direction: column; } }

.row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; }
.row-actions form { display: inline; margin: 0; }
.row-actions button, .row-actions a {
  border: 0; background: transparent; color: var(--green); padding: .2rem;
  font: inherit; font-weight: 720; cursor: pointer; text-decoration: none;
}
.row-actions .danger-link { color: #a1392f; }
.status-pending { color: #265c76; background: #dceff8; }
.confirm-card { max-width: 620px; padding: 2rem; border-radius: 1rem; background: #fff; border: 1px solid #ecd7d3; }
.danger { border: 0; background: #a1392f; color: #fff; cursor: pointer; }

.upload-card { display: grid; gap: 1rem; max-width: 720px; padding: 1.25rem; background: #fff; border: 1px solid #dce5dc; border-radius: 1rem; }
.upload-card label { display: grid; gap: .45rem; font-weight: 720; }
.upload-card input { font: inherit; }
.media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.media-card { margin: 0; overflow: hidden; background: #fff; border: 1px solid #dce5dc; border-radius: .85rem; }
.media-card img { display: block; width: 100%; height: 140px; object-fit: cover; background: #edf1ec; }
.media-card figcaption { padding: .7rem; overflow-wrap: anywhere; font-size: .88rem; }

.content-card { padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.card-image { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #e7ece6; }
.card-placeholder { aspect-ratio: 16 / 10; display: grid; place-content: center; gap: .25rem; text-align: center; color: #fff; background: linear-gradient(145deg, #174f31, #3d7d4d 55%, #d4b14c); }
.card-placeholder span { font-size: 2rem; font-weight: 850; letter-spacing: .08em; }
.card-placeholder small { opacity: .86; letter-spacing: .04em; }
.card-content { padding: 1.25rem; display: grid; gap: .65rem; flex: 1; }
.card-content h2, .card-content p { margin: 0; }
.card-content > p:not(.price) { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.read-more, .back-link { color: var(--green); font-weight: 750; text-decoration: none; }
.read-more { margin-top: auto; padding-top: .35rem; }
.article-shell { width: min(920px, calc(100% - 2rem)); margin: 0 auto; padding: 3rem 0 5rem; }
.article-header { max-width: 780px; margin: 0 auto 2rem; }
.article-header h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.12; margin: 1rem 0; }
.article-lead { font-size: clamp(1.05rem, 2.2vw, 1.3rem); color: #506259; line-height: 1.65; overflow-wrap: anywhere; }
.article-hero { margin: 0 auto 2rem; overflow: hidden; border-radius: 1.2rem; background: #e7ece6; }
.article-hero img { display: block; width: 100%; max-height: 620px; object-fit: contain; }
.article-body { max-width: 780px; margin: 0 auto; font-size: 1.06rem; line-height: 1.78; overflow-wrap: anywhere; }
.article-body h2 { margin: 2.4rem 0 .8rem; font-size: clamp(1.45rem, 3vw, 2rem); line-height: 1.3; }
.article-body h3 { margin: 2rem 0 .7rem; line-height: 1.35; }
.article-body p, .article-body ul, .article-body ol, .article-body blockquote { margin: 1rem 0; }
.article-body img { display: block; max-width: 100%; height: auto; margin: 1.5rem auto; border-radius: .8rem; }
.article-body blockquote { padding: .85rem 1.1rem; border-left: 4px solid var(--green); background: #edf5ec; }
.article-body table { display: block; overflow-x: auto; font-size: .95rem; }
@media (max-width: 650px) { .article-shell { width: min(100% - 1.25rem, 920px); padding-top: 2rem; } }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.check-row { display: flex !important; grid-template-columns: none !important; flex-direction: row; align-items: center; }
.check-row input { width: auto; }
.notice { padding: .85rem 1rem; border-left: 4px solid #d2a43b; background: #fff7dc; border-radius: .35rem; }
.status-verified, .status-active { color: #17603a; background: #dbf3e4; }
.status-pending_verification, .status-not_for_sale { color: #725d27; background: #fff3ca; }
.status-paused, .status-expired, .status-recalled { color: #8d3028; background: #fde5e1; }

.content-card { padding: 0; overflow: hidden; }
.card-image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #edf1ec; }
.card-content { padding: 1.25rem; }
.read-more { color: var(--green); font-weight: 750; text-decoration: none; }
.article-shell { max-width: 920px; margin: 0 auto; padding: 3rem max(1.25rem, 5vw) 5rem; }
.article-header h1 { font-size: clamp(2rem, 5vw, 3.7rem); line-height: 1.12; margin: .7rem 0; }
.article-lead { color: #52645a; font-size: 1.15rem; line-height: 1.65; }
.back-link { color: var(--green); font-weight: 700; text-decoration: none; }
.article-hero { width:min(780px,100%); display:grid; place-items:center; margin:1.5rem auto 2rem; background:#f8faf7; }
.article-hero img { display:block; width:auto; max-width:100%; height:auto; max-height:min(62vh,520px); object-fit:contain; border-radius:1rem; }
.article-body { font-size: 1.05rem; line-height: 1.75; overflow-wrap: anywhere; }
.article-body img { display:block; width:auto; max-width:100%; height:auto; max-height:520px; object-fit:contain; margin:1.5rem auto; border-radius:.75rem; }
.article-body figure { margin: 1.8rem 0; }
.article-body figcaption { color: #64736a; text-align: center; font-size: .9rem; }
.article-body table { margin: 1.5rem 0; background: #fff; }
.article-body h2, .article-body h3 { margin-top: 2rem; line-height: 1.25; }


/* Public design system V2 */
:root { --forest:#123f2b; --leaf:#1f6842; --lime:#b6cb72; --gold:#d8ae4b; --paper:#fbfaf5; --muted:#5b6b62; --line:#dce4dc; }
body { background:var(--paper); font-size:17px; line-height:1.6; }
.skip-link { position:absolute; left:-9999px; top:0; z-index:100; background:#fff; color:var(--forest); padding:.7rem 1rem; }
.skip-link:focus { left:1rem; top:1rem; }
.site-header { position:sticky; top:0; z-index:20; min-height:76px; padding:.75rem max(5vw,1.25rem); border-bottom:1px solid #e7ebe5; box-shadow:0 4px 18px #153d2710; }
.brand { display:flex; align-items:center; gap:.65rem; font-size:1.05rem; }
.brand-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50% 50% 46% 54%; background:var(--forest); color:#fff; font-size:.82rem; letter-spacing:.08em; }
.site-header nav { align-items:center; gap:clamp(.8rem,2vw,1.6rem); }
.site-header nav a { font-size:.94rem; font-weight:650; }
.site-header .nav-cta { padding:.62rem .9rem; border-radius:999px; background:var(--forest); color:#fff; }
.home-hero { min-height:520px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); align-items:center; gap:clamp(2rem,5vw,4rem); padding:clamp(3rem,5vw,5rem) max(6vw,1.25rem); background:radial-gradient(circle at 82% 18%,#dfe9c8 0,transparent 28%),linear-gradient(130deg,#f4f0df,#e7efe2 55%,#f7eac7); }
.hero-copy { max-width:780px; }
.home-hero h1 { margin:.55rem 0 1.25rem; color:var(--forest); font-family:"Segoe UI",Arial,sans-serif; font-size:clamp(2.8rem,5.5vw,5rem); font-weight:600; line-height:.94; letter-spacing:-.045em; }
.home-hero h1 span { color:var(--leaf); }
.hero-lead { max-width:680px; color:#425a4c; font-size:clamp(1.08rem,2vw,1.3rem); line-height:1.7; }
.text-link { color:var(--forest); font-weight:750; text-decoration:none; }
.actions { align-items:center; gap:1.2rem; }
.button { display:inline-flex; min-height:48px; align-items:center; justify-content:center; padding:.78rem 1.15rem; border-radius:999px; }
.trust-card { align-self:end; padding:clamp(1.4rem,3vw,2.2rem); border:1px solid #ffffff80; border-radius:1.4rem; background:#ffffffcc; box-shadow:0 24px 70px #173e2420; backdrop-filter:blur(10px); }
.trust-card h2 { margin:.3rem 0 1rem; color:var(--forest); font:600 clamp(1.45rem,3vw,2rem)/1.25 "Segoe UI",Arial,sans-serif; }
.trust-card ul { margin:0; padding:0; list-style:none; }
.trust-card li { position:relative; padding:.7rem 0 .7rem 1.65rem; border-top:1px solid var(--line); }
.trust-card li::before { content:"✓"; position:absolute; left:0; color:var(--leaf); font-weight:900; }
.home-section { padding:clamp(2.5rem,5vw,4.5rem) max(6vw,1.25rem); }
.home-section h2,.contact-band h2 { margin:.3rem 0; color:var(--forest); font:650 clamp(1.8rem,3.2vw,3rem)/1.12 "Segoe UI",Arial,sans-serif; letter-spacing:-.025em; }
.intro-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,7vw,8rem); align-items:start; background:#fff; }
.intro-section>p { margin:1rem 0 0; color:var(--muted); font-size:1.08rem; }
.featured-strip { padding:2.5rem max(6vw,1.25rem); overflow:hidden; background:linear-gradient(120deg,#eef4eb,#f8efd5); }
.featured-strip h2 { margin:.2rem 0; color:var(--forest); font:650 clamp(1.7rem,3vw,2.6rem)/1.15 "Segoe UI",Arial,sans-serif; }
.featured-slider { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(360px,42vw); gap:1rem; overflow-x:auto; margin-top:1.5rem; padding:.1rem 0 1rem; scroll-snap-type:x mandatory; scrollbar-color:#6b8f71 #ffffff80; }
.featured-slide { min-height:210px; overflow:hidden; display:grid; grid-template-columns:160px minmax(0,1fr); scroll-snap-align:start; border:1px solid #d5dfd4; border-radius:1rem; background:#fff; box-shadow:0 10px 28px #183c2410; }
.featured-slide img,.featured-placeholder { width:160px; height:100%; object-fit:contain; padding:.5rem; background:#f8faf7; box-sizing:border-box; }
.featured-placeholder { display:grid; place-items:center; color:var(--forest); font-weight:850; }
.featured-slide>div:last-child { min-width:0; padding:1.15rem; }
.featured-slide h3 { display:-webkit-box; overflow:hidden; margin:.55rem 0; color:var(--forest); font-size:1.2rem; line-height:1.3; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.featured-slide p { display:-webkit-box; overflow:hidden; color:var(--muted); -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.featured-slide a { color:var(--leaf); font-weight:750; text-decoration:none; }
@media (max-width:700px) { .featured-slider { grid-auto-columns:88%; } .featured-slide { grid-template-columns:110px minmax(0,1fr); min-height:180px; } .featured-slide img,.featured-placeholder { width:110px; } }
.service-section { background:var(--forest); color:#eaf1eb; }
.service-section .eyebrow,.service-section h2,.service-section .text-link { color:#fff; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:3rem; background:#ffffff30; }
.feature-card { min-height:230px; display:flex; flex-direction:column; padding:clamp(1.5rem,3vw,2.5rem); background:var(--forest); }
.feature-number { color:var(--lime); font-size:.9rem; font-weight:800; letter-spacing:.12em; }
.feature-card h3 { margin:2rem 0 .7rem; color:#fff; font:600 1.55rem/1.25 "Segoe UI",Arial,sans-serif; }
.feature-card p { color:#cad8ce; }
.feature-card a,.knowledge-card a { margin-top:auto; color:inherit; font-weight:750; text-decoration:none; }
.knowledge-section { background:#f4f1e7; }
.knowledge-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.knowledge-card { overflow:hidden; display:flex; flex-direction:column; min-height:390px; background:#fff; border-radius:1.1rem; box-shadow:0 12px 38px #193d2410; }
.knowledge-card img,.knowledge-placeholder { width:100%; height:180px; object-fit:contain; background:#f8faf7; }
.knowledge-card img { padding:.55rem; box-sizing:border-box; }
.knowledge-placeholder { display:grid; place-items:center; background:linear-gradient(145deg,var(--forest),#628654); color:#fff; font:700 2rem "Segoe UI",Arial,sans-serif; }
.knowledge-card>div:last-child { display:flex; flex:1; flex-direction:column; padding:1.35rem; }
.card-label { margin:0; color:var(--leaf); font-size:.76rem; font-weight:850; letter-spacing:.12em; }
.knowledge-card h3 { margin:.55rem 0; color:var(--forest); font:600 1.4rem/1.3 "Segoe UI",Arial,sans-serif; }
.knowledge-card p:not(.card-label) { color:var(--muted); }
.product-note { display:flex; justify-content:space-between; align-items:center; gap:2rem; background:#fff; }
.product-note>div { max-width:760px; }
.contact-band { display:flex; justify-content:space-between; align-items:center; gap:2rem; padding:clamp(3.5rem,7vw,6rem) max(6vw,1.25rem); background:#d9b653; color:var(--forest); }
.contact-band>div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.light { background:var(--forest); color:#fff; }
.light-link { color:var(--forest); }
.site-footer { display:grid; grid-template-columns:2fr 1fr 1fr; gap:3rem; padding:3.5rem max(6vw,1.25rem); background:#0b2c1e; color:#dce8df; }
.site-footer>div { display:flex; flex-direction:column; gap:.45rem; }
.site-footer p { margin:.2rem 0; color:#9eb3a5; }
.site-footer a { color:#dce8df; text-decoration:none; }
.static-content { width:min(820px,calc(100% - 2.5rem)); margin:0 auto; padding:0 0 5rem; font-size:1.08rem; }
.static-content h2 { margin:2.2rem 0 .7rem; color:var(--forest); font:600 1.8rem "Segoe UI",Arial,sans-serif; }
.static-content a { color:var(--leaf); }
@media (max-width:850px) {
  .home-hero,.intro-section { grid-template-columns:1fr; }
  .home-hero { min-height:auto; }
  .trust-card { align-self:auto; }
  .feature-grid,.knowledge-grid { grid-template-columns:1fr; gap:1rem; background:transparent; }
  .feature-card { min-height:240px; border:1px solid #ffffff25; border-radius:1rem; }
  .product-note,.contact-band { align-items:flex-start; flex-direction:column; }
  .site-footer { grid-template-columns:1fr 1fr; }
}
@media (max-width:650px) {
  body { font-size:16.5px; }
  .site-header { min-height:64px; }
  .site-header nav { display:flex; }
  .site-header nav a:not(.nav-cta) { display:none; }
  .brand-mark { width:38px; height:38px; }
  .home-hero { padding-top:4rem; }
  .home-hero h1 { font-size:clamp(2.8rem,15vw,4.4rem); }
  .site-footer { grid-template-columns:1fr; gap:2rem; }
}

body { overflow-x:hidden; }
.hero-copy,.trust-card,.home-section>* { min-width:0; }
.home-hero { overflow:hidden; }
.home-hero h1,.trust-card h2,.home-section h2 { overflow-wrap:break-word; }
@media (max-width:650px) {
  .home-hero { display:block; padding:3.5rem 1.15rem 4.5rem; }
  .home-hero h1 { font-size:clamp(2.7rem,13vw,3.5rem); line-height:1; letter-spacing:-.035em; }
  .hero-lead { font-size:1.04rem; }
  .actions { align-items:flex-start; flex-direction:column; }
  .trust-card { width:100%; margin-top:2rem; padding:1.35rem; }
  .trust-card h2 { font-size:1.55rem; }
  .home-section,.contact-band { padding-left:1.15rem; padding-right:1.15rem; }
}

/* Public trust and mobile navigation */
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { min-height:44px; display:flex; align-items:center; padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; color:var(--forest); font-weight:750; cursor:pointer; list-style:none; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu .mobile-menu-panel { position:absolute; right:0; top:calc(100% + .65rem); min-width:210px; display:grid; gap:0; padding:.45rem; border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 18px 45px #123f2b22; }
.mobile-menu .mobile-menu-panel a { min-height:44px; display:flex; align-items:center; padding:.55rem .75rem; border-radius:.65rem; color:var(--forest); font-weight:700; }
.mobile-menu .mobile-menu-panel a:hover,.mobile-menu .mobile-menu-panel a:focus { background:#eef4eb; }
.trust-strip { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; }
.trust-strip>div { display:grid; gap:.25rem; padding:1.5rem max(2rem,6vw); border-right:1px solid var(--line); }
.trust-strip>div:last-child { border-right:0; }
.trust-strip strong { color:var(--forest); font-family:"Segoe UI",Arial,sans-serif; font-size:1.15rem; }
.trust-strip span,.site-footer small { color:var(--muted); }
.page-heading { background:linear-gradient(130deg,#eef2e7,#f8efd5); }
.page-heading h1 { color:var(--forest); font-family:"Segoe UI",Arial,sans-serif; letter-spacing:-.025em; }
.empty-state { border:1px dashed #b9c8bc; text-align:center; }
@media (max-width:850px) { .desktop-nav { display:none; } .mobile-menu { display:block; } .trust-strip { grid-template-columns:1fr; } .trust-strip>div { border-right:0; border-bottom:1px solid var(--line); } .trust-strip>div:last-child { border-bottom:0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; } }

@media (max-width:850px) {
  .site-header .desktop-nav { display:none; }
  .site-header { gap:.75rem; }
  .mobile-menu { flex:0 0 auto; }
}
@media (max-width:420px) {
  .brand { font-size:.94rem; }
  .home-hero h1 { font-size:clamp(2.55rem,12vw,3.2rem); }
}

@media (max-width:420px) {
  .home-hero h1 { font-size:clamp(2.35rem,10.5vw,3rem); }
}

/* Brand and editorial finish */
.brand { flex:0 1 240px; min-width:170px; }
.brand img { display:block; width:min(240px,100%); height:auto; }
.page-heading { min-height:310px; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; padding:clamp(2.5rem,5vw,4rem) max(6vw,1.25rem); box-sizing:border-box; }
.page-heading.has-media { grid-template-columns:minmax(0,1fr) minmax(360px,42%); gap:clamp(2rem,5vw,5rem); }
.page-heading-copy { min-width:0; }
.page-heading-slider { height:230px; display:grid; grid-auto-flow:column; grid-auto-columns:100%; overflow-x:auto; scroll-snap-type:x mandatory; border-radius:1.2rem; box-shadow:0 18px 45px #183c241a; scrollbar-width:thin; }
.page-heading-slider figure { position:relative; width:100%; height:230px; margin:0; overflow:hidden; scroll-snap-align:start; background:#e7eee5; }
.page-heading-slider img { width:100%; height:100%; object-fit:cover; }
.page-heading-slider figcaption { position:absolute; right:.7rem; bottom:.6rem; max-width:80%; padding:.3rem .55rem; border-radius:.4rem; background:#123f2bcc; color:#fff; font-size:.78rem; }
@media (max-width:760px) { .page-heading,.page-heading.has-media { min-height:280px; grid-template-columns:1fr; } .page-heading.has-media { position:relative; overflow:hidden; } .page-heading.has-media .page-heading-copy { position:relative; z-index:1; padding:1rem; border-radius:1rem; background:#fbfaf5e6; } .page-heading-slider { position:absolute; inset:0; width:100%; height:100%; opacity:.35; border-radius:0; } .page-heading-slider figure { height:100%; } .page-heading-slider figcaption { display:none; } }
.page-heading-copy>p:last-child { max-width:720px; margin:.8rem 0 0; color:var(--muted); font-size:1.08rem; }
.listing { padding-top:2rem; }
.card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1rem,2.5vw,1.6rem); }
@media (max-width:900px) { .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .card-grid { grid-template-columns:1fr; } }
.content-card { border-color:#e2e7df; border-radius:1.15rem; box-shadow:0 12px 34px #183c2410; }
.content-card h2 { display:-webkit-box; overflow:hidden; min-height:3.8em; color:var(--forest); font:650 clamp(1.2rem,1.8vw,1.45rem)/1.3 "Segoe UI",Arial,sans-serif; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.content-card,.card-content { min-width:0; }
.card-content { padding:clamp(1.2rem,2.5vw,1.55rem); }
.card-content>p:not(.price) { display:-webkit-box; overflow:hidden; color:var(--muted); line-height:1.6; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.card-image { height:clamp(190px,22vw,250px); aspect-ratio:auto; object-fit:contain; padding:.55rem; background:#f8faf7; box-sizing:border-box; }
.content-card:hover .card-image { transform:none; }
.article-header { padding-top:.5rem; }
.article-header h1 { color:var(--forest); font-family:"Segoe UI",Arial,sans-serif; font-weight:600; }
.article-body { color:#263c31; }
.article-body a { color:var(--leaf); text-underline-offset:.2em; }
.article-body li+li { margin-top:.45rem; }
@media (max-width:850px) {
  .brand { flex-basis:190px; }
}
@media (max-width:420px) {
  .site-header { padding-left:.85rem; padding-right:.85rem; }
  .brand { min-width:0; flex-basis:170px; }
  .page-heading { padding-left:1.15rem; padding-right:1.15rem; }
  .listing { padding-left:1.15rem; padding-right:1.15rem; }
}

/* Related content and product detail */
.related-section { padding:2.25rem max(6vw,1.25rem) 2.75rem; border-top:1px solid var(--line); background:#f1f3eb; }
.related-heading { max-width:1120px; margin:0 auto 1rem; }
.related-heading h2 { margin:0; color:var(--forest); font:600 clamp(1.2rem,1.8vw,1.45rem)/1.2 "Segoe UI",Arial,sans-serif; }
.related-grid { width:min(1120px,100%); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; margin:0 auto; }
.related-card { min-width:0; min-height:112px; overflow:hidden; display:grid; grid-template-columns:112px minmax(0,1fr); align-items:stretch; border:1px solid var(--line); border-top:3px solid #b6cb72; border-radius:.8rem; background:#fff; box-shadow:0 8px 24px #183c240b; }
.related-card img,.related-thumb { display:block; width:112px; height:100%; min-height:109px; object-fit:contain; padding:.3rem; background:#f8faf7; box-sizing:border-box; }
.related-thumb { display:grid; place-items:center; color:var(--forest); font-weight:850; letter-spacing:.1em; background:linear-gradient(145deg,#eef4eb,#f8efd5); }
.related-card>div { min-width:0; align-self:center; padding:.75rem .85rem; }
.related-card small { display:block; overflow:hidden; color:var(--leaf); font-size:.72rem; font-weight:750; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.related-card h3 { display:-webkit-box; overflow:hidden; margin:.25rem 0 0; color:var(--forest); font:600 1rem/1.35 "Segoe UI",Arial,sans-serif; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.related-card h3 a { color:inherit; text-decoration:none; }
.related-card:focus-within,.related-card:hover { border-color:#aebdad; box-shadow:0 7px 20px #183c2410; }
.product-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:2rem 0; }
.product-facts p { display:grid; gap:.3rem; margin:0; padding:1.1rem; border:1px solid var(--line); border-radius:.8rem; background:#fff; }
.product-facts span { color:var(--muted); font-size:.9rem; }
.product-facts strong { color:var(--forest); }
@media (max-width:850px) {
  .related-section { padding:1.75rem 1.15rem 2.25rem; }
  .related-grid { grid-template-columns:1fr; gap:.65rem; }
  .related-card { min-height:88px; grid-template-columns:96px minmax(0,1fr); }
  .related-card img { width:96px; min-height:88px; }
  .related-card h3 { font-size:.98rem; -webkit-line-clamp:2; }
}

/* Public product search */
.product-search { padding:1.5rem max(6vw,1.15rem) 0; background:#f7f8f4; }
.product-search form { width:min(1120px,100%); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; margin:0 auto; padding:1rem; border:1px solid var(--line); border-radius:1rem; background:#fff; }
.product-search label { min-width:0; display:grid; gap:.35rem; color:var(--muted); font-size:.82rem; font-weight:750; }
.product-search input { width:100%; min-height:44px; padding:.62rem .75rem; border:1px solid #b9c8bc; border-radius:.65rem; color:var(--ink); font:inherit; }
.product-search-actions { grid-column:1/-1; display:flex; align-items:center; gap:1rem; }
.product-search-actions .button { min-height:44px; border:0; cursor:pointer; }
.product-search-actions a { color:var(--forest); font-weight:750; }
.search-summary { width:min(1120px,100%); margin:.75rem auto 0; color:var(--muted); }
.pagination { display:flex; justify-content:center; align-items:center; gap:1rem; margin:2rem auto 0; }
.pagination a,.pagination span { min-height:44px; display:inline-flex; align-items:center; padding:.55rem .9rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--forest); font-weight:750; text-decoration:none; }
.pagination span { background:#f4f7f1; color:var(--muted); }
@media (max-width:520px) { .pagination { gap:.45rem; } .pagination a,.pagination span { padding:.5rem .65rem; font-size:.88rem; } }
@media (max-width:850px) { .product-search form { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .product-search form { grid-template-columns:1fr; } }

/* Admin command center */
.admin-shell { width:min(1320px,calc(100% - 2.5rem)); margin:0 auto; padding:clamp(2rem,4vw,4rem) 0 5rem; }
.admin-shell h1 { margin:.25rem 0; color:var(--forest); font:600 clamp(2rem,4vw,3.2rem)/1.08 "Segoe UI",Arial,sans-serif; }
.admin-page-head { display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; margin-bottom:3rem; }
.admin-page-head p { margin:.6rem 0 0; color:var(--muted); }
.admin-page-head form { flex:0 0 auto; }
.admin-section-title { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin:2.5rem 0 1rem; }
.admin-section-title .eyebrow { margin:0 0 .2rem; font-size:.75rem; }
.admin-section-title h2 { margin:0; color:var(--forest); font:600 clamp(1.45rem,2.5vw,2rem)/1.2 "Segoe UI",Arial,sans-serif; }
.admin-priority-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem; }
.priority-card { min-width:0; display:grid; gap:.2rem; padding:1.2rem; border:1px solid var(--line); border-radius:1rem; background:#fff; color:var(--ink); text-decoration:none; }
.priority-card strong { color:var(--forest); font:600 2.1rem/1 "Segoe UI",Arial,sans-serif; }
.priority-card span { font-weight:780; }
.priority-card small { color:var(--muted); line-height:1.35; }
.priority-card.needs-action { border-left:5px solid var(--gold); }
.priority-card.urgent { border-left:5px solid #b94b3c; background:#fff9f7; }
.admin-module-grid { overflow:hidden; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid var(--line); border-radius:1rem; background:var(--line); }
.admin-module { min-width:0; display:grid; grid-template-columns:38px minmax(0,1fr); gap:.8rem; padding:1.25rem; background:#fff; color:inherit; text-decoration:none; }
.admin-module>span { color:var(--leaf); font-size:.78rem; font-weight:850; letter-spacing:.08em; }
.admin-module h3 { margin:0; color:var(--forest); font:600 1.18rem/1.3 "Segoe UI",Arial,sans-serif; }
.admin-module p { margin:.3rem 0 0; color:var(--muted); font-size:.92rem; }
.admin-module:not(.is-disabled):hover,.admin-module:not(.is-disabled):focus { background:#f4f7f1; }
.admin-module.is-disabled { opacity:.58; }
.admin-filter { display:flex; flex-wrap:wrap; align-items:end; gap:.75rem; margin:1.35rem 0; padding:1rem; border:1px solid var(--line); border-radius:1rem; background:#fff; }
.admin-filter label { min-width:170px; display:grid; gap:.3rem; color:var(--muted); font-size:.82rem; font-weight:750; }
.admin-filter label:first-child { flex:1 1 260px; }
.admin-filter input,.admin-filter select { width:100%; min-height:44px; padding:.62rem .75rem; border:1px solid #b9c8bc; border-radius:.65rem; background:#fff; color:var(--ink); font:inherit; }
.admin-filter .button { min-height:44px; border:0; cursor:pointer; }
.admin-shell .table-wrap { margin-top:1rem; box-shadow:0 10px 28px #183c240b; }
.admin-shell table tbody tr:hover { background:#f7f8f4; }
.admin-shell th { background:#f5f7f2; white-space:nowrap; }
.supplier-choice { grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:.55rem; margin:0; padding:1rem; border:1px solid var(--line); border-radius:.8rem; }
.supplier-choice legend { padding:0 .35rem; color:var(--forest); font-weight:800; }
.supplier-choice .check-row { margin:0; padding:.6rem .7rem; border-radius:.55rem; background:#f6f8f4; }
.supplier-choice p { grid-column:1 / -1; margin:0; color:var(--muted); }
.demo-badge { display:inline-flex; align-items:center; width:max-content; margin-bottom:.45rem; padding:.24rem .55rem; border-radius:999px; background:#fff1ca; color:#72520b; font-size:.72rem; font-weight:850; line-height:1.2; }
.demo-notice { margin:1rem 0; padding:1rem; border:1px solid #e4c56d; border-radius:.8rem; background:#fff8df; color:#60470c; }
@media (max-width:950px) {
  .admin-priority-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .admin-shell { width:min(100% - 1.5rem,1320px); padding-top:1.5rem; }
  .admin-page-head { align-items:stretch; flex-direction:column; gap:1rem; margin-bottom:2rem; }
  .admin-priority-grid,.admin-module-grid { grid-template-columns:1fr; }
  .priority-card { grid-template-columns:44px minmax(0,1fr); align-items:center; }
  .priority-card strong { grid-row:1 / span 2; font-size:1.7rem; }
  .priority-card small { grid-column:2; }
  .admin-filter { align-items:stretch; }
  .admin-filter label,.admin-filter label:first-child { flex:1 1 100%; min-width:0; }
  .admin-filter .button { flex:1 1 auto; justify-content:center; }
  .admin-shell .table-wrap { overflow:visible; border:0; background:transparent; box-shadow:none; }
  .admin-shell table,.admin-shell tbody { display:block; width:100%; }
  .admin-shell thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
  .admin-shell tbody { display:grid; gap:.8rem; }
  .admin-shell tbody tr { display:block; overflow:hidden; border:1px solid var(--line); border-radius:.9rem; background:#fff; box-shadow:0 8px 24px #183c240b; }
  .admin-shell tbody td { border-bottom:1px solid #edf0eb; }
  .admin-shell tbody td:last-child { border-bottom:0; }
  .admin-shell tbody td[data-label] { display:grid; grid-template-columns:minmax(92px,34%) minmax(0,1fr); gap:.75rem; padding:.78rem .9rem; text-align:left; overflow-wrap:anywhere; }
  .admin-shell tbody td[data-label]::before { content:attr(data-label); color:var(--muted); font-size:.78rem; font-weight:800; letter-spacing:.02em; }
  .admin-shell tbody td.row-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
  .admin-shell tbody td.row-actions::before { flex:0 0 100%; }
  .admin-shell tbody td[colspan] { display:block; padding:1rem; text-align:center; }
}


/* Account administration */
.admin-panel { margin:1.25rem 0; padding:clamp(1rem,2.5vw,1.5rem); border:1px solid var(--line); border-radius:1rem; background:#fff; box-shadow:0 8px 26px #183c2408; }
.admin-panel .admin-section-title { margin:0 0 1rem; }
.admin-panel .admin-section-title p { margin:.25rem 0 0; color:var(--muted); }
.admin-form-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.9rem; align-items:end; }
.admin-form-grid label { min-width:0; display:grid; gap:.35rem; color:var(--muted); font-size:.82rem; font-weight:750; }
.admin-form-grid input,.account-card input,.account-card select { width:100%; min-height:44px; box-sizing:border-box; padding:.62rem .75rem; border:1px solid #b9c8bc; border-radius:.65rem; background:#fff; font:inherit; }
.role-picker { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.55rem 1rem; margin:0; padding:.8rem; border:1px solid var(--line); border-radius:.7rem; }
.role-picker legend { padding:0 .3rem; color:var(--forest); font-weight:800; }
.role-picker label { display:flex; align-items:center; gap:.35rem; color:var(--ink); font-size:.86rem; }
.role-picker input { width:auto; min-height:0; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.account-card { display:grid; gap:.85rem; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#f9faf7; }
.account-card>div { display:grid; gap:.2rem; }
.account-card small { color:var(--muted); }
.account-card .role-picker { grid-column:auto; }
.form-error { padding:.85rem 1rem; border:1px solid #dba89e; border-radius:.7rem; background:#fff3f0; color:#8b2f24; }
@media (max-width:850px) { .admin-form-grid { grid-template-columns:1fr 1fr; } .account-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .admin-form-grid { grid-template-columns:1fr; } }


/* Admin workspace refinement V3 */
.admin-shell { --control-height:46px; }
.admin-shell form label:not(.check-row) { min-width:0; display:grid; align-content:start; gap:.45rem; color:#405449; font-size:.86rem; font-weight:750; }
.admin-shell input:not([type="checkbox"]):not([type="range"]),.admin-shell select,.admin-shell textarea { width:100%; min-height:var(--control-height); margin:0; padding:.72rem .82rem; border:1px solid #b8c7bb; border-radius:.65rem; background:#fff; color:var(--ink); font:inherit; }
.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus { outline:3px solid #b6cb7245; border-color:var(--leaf); }
.admin-shell textarea { resize:vertical; line-height:1.55; }
.admin-shell .button { border:1px solid transparent; cursor:pointer; }
.admin-shell .button.secondary { border-color:var(--green); }
.admin-panel { overflow:hidden; }
.form-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; padding-top:.3rem; }
.form-section-head { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:1rem; }
.form-section-head>span { flex:0 0 32px; display:grid; place-items:center; height:32px; border-radius:50%; background:#e9f0e6; color:var(--leaf); font-size:.75rem; font-weight:850; }
.form-section-head h2,.form-section-head p { margin:0; }
.form-section-head h2 { color:var(--forest); font:650 1.18rem/1.25 "Segoe UI",Arial,sans-serif; }
.form-section-head p,.field-help { color:var(--muted); font-size:.88rem; }
.editor-form { max-width:none; }
.editor-workspace { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:1.2rem; }
.editor-main { min-width:0; }
.editor-main .admin-panel { margin-top:0; }
.editor-main .form-grid { grid-template-columns:minmax(180px,.35fr) minmax(300px,1fr); }
.editor-toolbar { display:flex; flex-wrap:wrap; gap:.45rem; padding:.55rem; border:1px solid var(--line); border-bottom:0; border-radius:.7rem .7rem 0 0; background:#f4f7f2; }
.editor-toolbar button { min-height:38px; padding:.45rem .7rem; border:1px solid #cad5cb; border-radius:.5rem; background:#fff; color:var(--forest); font:700 .82rem inherit; cursor:pointer; }
.body-field { gap:0 !important; }
.body-field>textarea { min-height:500px; border-radius:0 0 .7rem .7rem !important; font-family:Consolas,"Courier New",monospace !important; font-size:.92rem !important; }
.editor-media-panel { position:sticky; top:92px; max-height:calc(100vh - 112px); margin:0; }
.editor-media-list { display:grid; gap:.55rem; max-height:62vh; overflow:auto; margin-top:1rem; padding-right:.25rem; }
.insert-media { min-width:0; display:grid; grid-template-columns:64px minmax(0,1fr); gap:.55rem; align-items:center; padding:.45rem; border:1px solid var(--line); border-radius:.65rem; background:#fff; color:var(--ink); text-align:left; cursor:pointer; }
.insert-media img { grid-row:1/span 2; width:64px; height:54px; object-fit:contain; background:#f4f7f2; }
.insert-media span { overflow:hidden; font-size:.8rem; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.insert-media small { color:var(--muted); }
.insert-media:hover,.insert-media.was-inserted { border-color:var(--leaf); background:#edf5ea; }
.sticky-actions { position:sticky; bottom:0; z-index:3; margin-top:1rem; padding:1rem; border:1px solid var(--line); border-radius:.8rem; background:#ffffffed; box-shadow:0 -8px 22px #183c240d; }
.upload-card { max-width:none; padding:0; border:0; box-shadow:none; }
.field-wide { grid-column:span 2; }
.media-admin-grid { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); align-items:start; }
.media-editor-card>img { width:100%; height:190px; object-fit:contain; padding:.45rem; background:#f4f7f2; }
.media-card-body { display:grid; gap:.5rem; padding:.8rem; }
.media-card-body>strong { overflow-wrap:anywhere; font-size:.9rem; }
.media-card-body>small { color:var(--muted); }
.media-card details { border-top:1px solid var(--line); padding-top:.55rem; }
.media-card summary { color:var(--leaf); font-size:.84rem; font-weight:800; cursor:pointer; }
.media-transform-form { display:grid; gap:.7rem; margin-top:.8rem; }
.size-fields { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.admin-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:end; gap:.85rem; margin:1rem 0 1.5rem; padding:1.1rem; border:1px solid var(--line); border-radius:1rem; background:#fff; }
@media (max-width:1050px) { .editor-workspace { grid-template-columns:1fr; } .editor-media-panel { position:static; max-height:none; } .editor-media-list { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:420px; } }
@media (max-width:850px) { .admin-form { grid-template-columns:1fr 1fr; } .editor-media-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .admin-shell { width:min(100% - 1rem,1320px); } .admin-form,.editor-main .form-grid,.admin-form-grid { grid-template-columns:1fr; } .field-wide { grid-column:auto; } .editor-media-list { grid-template-columns:1fr; } .body-field>textarea { min-height:420px; } .form-actions .button { flex:1 1 auto; } }


/* Completion audit */
.error-page { width:min(720px,calc(100% - 2rem)); min-height:55vh; display:flex; flex-direction:column; justify-content:center; margin:0 auto; padding:4rem 0; }
.error-page h1 { margin:.25rem 0; color:var(--forest); font:650 clamp(2rem,5vw,3.5rem)/1.1 "Segoe UI",Arial,sans-serif; }
.error-page>p:not(.eyebrow) { color:var(--muted); }
.homepage-admin-links { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:2rem; }
.homepage-admin-links .priority-card strong { font-size:1rem; letter-spacing:.08em; }
.row-actions button:disabled { opacity:.5; cursor:not-allowed; }
@media (max-width:650px) { .homepage-admin-links { grid-template-columns:1fr; } }

/* Customer commerce */
.account-shell{max-width:760px;margin:0 auto;padding:clamp(2rem,5vw,5rem) 1.25rem;min-height:60vh}
.account-shell.wide{max-width:1180px}.account-card,.checkout-card{background:#fff;border:1px solid #dbe5dc;border-radius:20px;padding:clamp(1.4rem,4vw,2.5rem);box-shadow:0 16px 45px rgba(18,63,43,.08)}
.stack-form{display:grid;gap:1rem}.stack-form label{display:grid;gap:.42rem;font-weight:700}
.stack-form input,.stack-form textarea,.stack-form select{width:100%;padding:.82rem 1rem;border:1px solid #b8c9bd;border-radius:10px;font:inherit;background:#fff}
.stack-form textarea{min-height:92px}.button-primary,.button-secondary{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:999px;padding:.8rem 1.25rem;font-weight:800;cursor:pointer}
.button-primary{background:#12452f;color:#fff}.button-secondary{background:#edf3ee;color:#123f2b}.form-error{padding:.8rem 1rem;border-radius:10px;background:#fff0ee;color:#9f241a}
.account-heading,.admin-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:2rem}.order-list{display:grid;gap:.75rem}
.order-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid #dbe5dc;border-radius:14px;background:#fff}
.order-row small,.admin-table small{display:block;color:#607067;margin-top:.3rem}.status-pill{background:#eef4df;border-radius:999px;padding:.35rem .7rem}.cart-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:1.5rem;align-items:start}
.cart-total{display:flex;justify-content:space-between;padding:1rem;font-size:1.15rem}.buy-form{display:flex;gap:1rem;align-items:end;margin:1.5rem 0}.buy-form label{display:grid;gap:.35rem;font-weight:700}.buy-form input{width:100px;padding:.7rem;border:1px solid #b8c9bd;border-radius:9px}.text-danger{border:0;background:none;color:#a12a20;text-decoration:underline;cursor:pointer}
@media(max-width:760px){.cart-layout{grid-template-columns:1fr}.order-row{grid-template-columns:1fr auto}.order-row form{grid-column:1/-1}.account-heading,.admin-page-heading{align-items:stretch;flex-direction:column}.buy-form{align-items:stretch;flex-direction:column}.buy-form input{width:100%}}

/* Integration readiness */
.integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.integration-card{background:#fff;border:1px solid #dbe5dc;border-radius:16px;padding:1.25rem;display:grid;gap:1rem}
.integration-card h2{margin:.3rem 0}.integration-card dl{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:0}
.integration-card dl div{background:#f6f8f4;border-radius:10px;padding:.75rem}.integration-card dt{font-size:.8rem;color:#607067}.integration-card dd{font-weight:700;margin:.2rem 0 0}.muted{color:#607067}
.admin-note{margin-top:1.5rem;padding:1.25rem;border-left:4px solid #9bb43b;background:#f7f8ed}
@media(max-width:760px){.integration-grid{grid-template-columns:1fr}}

/* Order operations */
.order-detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:1rem;margin-bottom:1rem}
.admin-card{background:#fff;border:1px solid #dbe5dc;border-radius:16px;padding:1.25rem;margin-bottom:1rem}
.fact-list{display:grid;gap:.65rem;margin:0}.fact-list div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid #edf1ed}.fact-list dt{color:#607067}.fact-list dd{font-weight:700;margin:0}
.history-list{display:grid;gap:.7rem;padding-left:1.25rem}.history-list li{padding-left:.4rem}.history-list span{display:block;color:#607067;font-size:.85rem;margin-top:.2rem}
@media(max-width:760px){.order-detail-grid{grid-template-columns:1fr}.fact-list div{grid-template-columns:1fr;gap:.2rem}}

/* Sales administration */
.heading-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.filter-bar{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap;background:#fff;border:1px solid #dbe5dc;border-radius:14px;padding:1rem;margin-bottom:1rem}.filter-bar label{display:grid;gap:.35rem;font-weight:700}.filter-bar input,.filter-bar select{min-height:42px;padding:.65rem .8rem;border:1px solid #b8c9bd;border-radius:9px;font:inherit}.filter-bar button,.filter-bar a{min-height:42px;display:inline-flex;align-items:center;border:0;border-radius:9px;padding:.65rem 1rem;font-weight:700}.filter-bar button{background:#12452f;color:#fff}.result-count{color:#607067}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.metric-grid article{background:#fff;border:1px solid #dbe5dc;border-radius:14px;padding:1.1rem}.metric-grid span{display:block;color:#607067}.metric-grid strong{display:block;font-size:1.45rem;margin-top:.4rem}.print-page{background:#fff;color:#111}.print-page main{max-width:900px;margin:0 auto;padding:32px}.print-page header,.print-page footer{display:flex;justify-content:space-between;gap:2rem}.print-page table{width:100%;border-collapse:collapse;margin:1.5rem 0}.print-page th,.print-page td{border:1px solid #777;padding:.65rem;text-align:left}.print-total{text-align:right;font-size:1.2rem;font-weight:800}.print-page footer{margin-top:4rem;text-align:center}.print-page footer span{flex:1}
@media(max-width:760px){.metric-grid{grid-template-columns:1fr}.filter-bar>*{width:100%}.heading-actions{align-items:stretch}}
@media print{.site-header,.site-footer,.print-page button{display:none!important}.print-page main{max-width:none;padding:0}.print-page{font-size:12pt}}

/* Product purchase actions */
.card-buy{margin-top:auto;padding-top:1rem}.card-buy form{display:flex;align-items:end;gap:.65rem}.card-buy label{display:grid;gap:.25rem;font-size:.78rem;font-weight:700}.card-buy input[type=number]{width:78px;padding:.62rem;border:1px solid #b8c9bd;border-radius:9px}.card-buy .button-primary{flex:1;text-decoration:none}.content-card .card-content{display:flex;flex-direction:column;height:100%}
@media(max-width:520px){.card-buy form{align-items:stretch;flex-direction:column}.card-buy input[type=number]{width:100%}}

/* Grouped Admin navigation */
.admin-top-nav{display:flex;align-items:center;gap:.35rem!important;flex-wrap:nowrap}.admin-top-nav>a,.admin-nav-group>summary{white-space:nowrap;min-height:42px;display:flex;align-items:center;padding:.6rem .78rem;border-radius:9px;font-size:.91rem;font-weight:750;color:var(--forest);cursor:pointer;list-style:none}.admin-nav-group>summary::-webkit-details-marker{display:none}.admin-nav-group>summary::after{content:"⌄";margin-left:.42rem;color:#718077;font-size:.8rem}.admin-top-nav>a:hover,.admin-top-nav>a:focus,.admin-nav-group>summary:hover,.admin-nav-group[open]>summary{background:#edf3ee}.admin-nav-group{position:relative}.admin-nav-group>div{position:absolute;z-index:60;top:calc(100% + .55rem);left:0;min-width:230px;display:grid;padding:.45rem;background:#fff;border:1px solid #dbe5dc;border-radius:13px;box-shadow:0 18px 45px rgba(18,63,43,.18)}.admin-nav-group>div a{display:flex;min-height:42px;align-items:center;padding:.62rem .75rem;border-radius:8px;white-space:nowrap}.admin-nav-group>div a:hover,.admin-nav-group>div a:focus{background:#edf3ee}.admin-view-site{margin-left:.25rem;background:#123f2b!important;color:#fff!important}.admin-mobile-menu .mobile-menu-panel{width:min(330px,calc(100vw - 1.5rem));max-height:calc(100vh - 90px);overflow-y:auto}.admin-mobile-menu .mobile-menu-panel strong{padding:.8rem .75rem .3rem;color:#718077;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;border-top:1px solid #edf1ed}.admin-mobile-menu .mobile-menu-panel strong:first-of-type{border-top:0}.admin-mobile-menu .mobile-menu-panel strong+ a{margin-top:.15rem}
@media(max-width:1100px){.site-header .admin-top-nav{display:none}.site-header .admin-mobile-menu{display:block}}@media(min-width:1101px){.site-header:has(.admin-top-nav) .brand img{width:210px;height:auto}}

/* Professional visual system V4 */
:root{--forest:#103d2d;--leaf:#276b49;--gold:#c9a13d;--paper:#f7f8f4;--surface:#fff;--surface-soft:#f1f4ef;--muted:#607067;--line:#d9e1da;--shadow-sm:0 6px 20px rgba(24,60,36,.06);--shadow-md:0 16px 42px rgba(24,60,36,.10)}
body{background:var(--paper);color:#193127;font-size:16px}.site-header{min-height:72px;padding:.65rem max(calc((100vw - 1440px)/2),1.25rem);box-shadow:0 3px 16px rgba(16,61,45,.06)}.brand img{display:block;width:220px;height:auto}.eyebrow{font-size:.76rem;letter-spacing:.16em}.page-heading{padding:2.5rem max(calc((100vw - 1280px)/2),1.25rem);background:linear-gradient(125deg,#edf2e9 0%,#f8f2df 68%,#f1e4ba 100%)}.page-heading h1{font-size:clamp(2.1rem,4vw,3.35rem);letter-spacing:-.035em}.page-heading-slider,.page-heading-slider figure{height:210px}.listing{width:min(1280px,100%);margin:0 auto;padding:1.75rem 1.25rem 4.5rem}.product-search{padding:1.5rem max(calc((100vw - 1280px)/2),1.25rem) 0}.card-grid{gap:1.25rem}.content-card{border:1px solid #dfe6df;border-radius:16px;box-shadow:var(--shadow-sm);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.content-card:hover{transform:translateY(-3px);border-color:#cbd8cd;box-shadow:var(--shadow-md)}.content-card h2{min-height:auto;font-size:clamp(1.12rem,1.5vw,1.32rem);line-height:1.35}.card-content{padding:1.2rem}.card-image,.card-placeholder{aspect-ratio:16/9}.button-primary,.site-header .nav-cta{background:linear-gradient(135deg,#164b36,#0f3829);box-shadow:0 6px 16px rgba(16,61,45,.16)}.button-primary:hover,.site-header .nav-cta:hover{filter:brightness(1.08)}input,select,textarea,button{transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.admin-shell{width:min(1240px,calc(100% - 2.5rem));padding:2.5rem 0 5rem}.admin-shell h1{font-size:clamp(2rem,3.2vw,2.75rem);letter-spacing:-.025em}.admin-page-head,.account-heading,.admin-page-heading{margin-bottom:1.6rem}.admin-panel,.admin-card,.account-card,.integration-card,.priority-card{border-color:#dce4dd;border-radius:14px;box-shadow:var(--shadow-sm)}.admin-panel,.admin-card{padding:1.35rem}.admin-form,.admin-filter,.filter-bar{border-radius:14px;box-shadow:0 4px 15px rgba(24,60,36,.04)}.admin-shell input:not([type=checkbox]):not([type=range]),.admin-shell select,.admin-shell textarea{border-color:#c5d0c7;border-radius:9px;background:#fff}.admin-shell input:focus,.admin-shell select:focus,.admin-shell textarea:focus{outline:0;border-color:#3c805c;box-shadow:0 0 0 3px rgba(60,128,92,.14)}.admin-module-grid{border-radius:14px;box-shadow:var(--shadow-sm)}.admin-module{padding:1.15rem}.admin-shell th{background:#eef2ed;color:#45594e}.admin-shell tbody tr{background:#fff}.priority-card strong{font-size:1.85rem}.status-pill{border:1px solid #dce5d3;background:#f0f5e8}
@media(max-width:760px){body{font-size:16px}.site-header{padding:.55rem .85rem}.brand img{width:185px}.page-heading{padding:2rem 1rem}.page-heading.has-media{min-height:245px}.listing{padding-left:1rem;padding-right:1rem}.admin-shell{width:calc(100% - 1rem);padding-top:1.25rem}.admin-panel,.admin-card{padding:1rem}.content-card:hover{transform:none}}

/* Mobile public navigation visibility fix 2026-09-17 */
@media (max-width:850px) {
  .site-header { overflow:visible !important; }
  .site-header .mobile-menu { display:block !important; position:relative; z-index:100; }
  .site-header .mobile-menu > summary { position:relative; z-index:102; background:#fff; }
  .site-header .mobile-menu:not([open]) > .mobile-menu-panel { display:none !important; }
  .site-header .mobile-menu[open] > .mobile-menu-panel {
    display:grid !important;
    position:fixed;
    z-index:101;
    top:72px;
    left:.75rem;
    right:.75rem;
    width:auto;
    min-width:0;
    max-height:calc(100dvh - 84px);
    overflow-y:auto;
    padding:.55rem;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:0 20px 48px rgba(16,61,45,.22);
  }
}

/* Definitive phone header/menu containment */
@media (max-width:850px) {
  .site-header { width:100%; max-width:100vw; padding:.55rem .75rem; gap:.5rem; }
  .site-header .brand { flex:1 1 auto; min-width:0; max-width:calc(100vw - 112px); overflow:hidden; }
  .site-header .brand img { width:min(165px,100%); height:auto; }
  .site-header .mobile-menu { flex:0 0 auto; min-width:max-content; }
  .site-header .mobile-menu[open] > :is(nav,.mobile-menu-panel) {
    display:grid !important;
    position:fixed !important;
    inset:72px .75rem auto .75rem !important;
    width:auto !important;
    height:auto !important;
    min-height:0 !important;
    max-height:calc(100dvh - 84px) !important;
    overflow-y:auto !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    align-content:start;
    background:#fff !important;
    z-index:10000 !important;
  }
  .site-header .mobile-menu[open] > :is(nav,.mobile-menu-panel) > a {
    display:flex !important;
    width:100%;
    min-height:44px;
    color:#103d2d !important;
    visibility:visible !important;
    opacity:1 !important;
  }
}
