:root { --ink:#13251f; --paper:#f7f5ee; --lime:#d7f27a; --muted:#6d7b75; --line:#d8ddd5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.5 Arial,sans-serif; }
.topbar, main, footer { max-width:1120px; margin:auto; }
.topbar { display:flex; justify-content:space-between; align-items:center; padding:28px 24px; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.account-link { color:var(--ink); font-size:12px; font-weight:800; text-decoration:none; }
.account-link:hover { text-decoration:underline; }
.brand { color:var(--ink); font-weight:900; letter-spacing:.12em; text-decoration:none; }
.brand span { background:var(--lime); padding:3px 5px; }
.badge, .pills span { border:1px solid var(--line); border-radius:99px; padding:5px 10px; font-size:12px; }
.language-control { display:flex; align-items:center; gap:5px; margin:0; color:var(--muted); font-size:11px; font-weight:700; }
.language-select { width:auto; margin:0; padding:5px 7px; border-radius:99px; background:#fff; font-size:12px; font-weight:800; }
.hero { padding:72px 24px 48px; }
.eyebrow, .label { font-size:12px; font-weight:700; letter-spacing:.12em; color:var(--muted); margin:0 0 13px; }
.hero h1 { font-size:clamp(43px,7vw,82px); letter-spacing:-.065em; line-height:.94; margin:0; max-width:850px; }
.hero em { font-family:Georgia,serif; font-weight:400; }
.lead { max-width:660px; font-size:19px; color:var(--muted); margin:28px 0; }
.pills, .product-meta { display:flex; flex-wrap:wrap; gap:8px; }
.category-showcase, .catalog { padding:0 24px 14px; }
.catalog-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-bottom:14px; }
.catalog-head h2 { font-size:31px; letter-spacing:-.05em; margin:0; }
.catalog-head > p { max-width:320px; color:var(--muted); margin:0; }
.category-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
.category-tile { position:relative; display:block; min-height:350px; overflow:hidden; border-radius:17px; background:var(--ink); color:#fff; text-decoration:none; isolation:isolate; }
.category-tile img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .35s ease; }
.category-tile:hover img { transform:scale(1.04); }
.category-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(10,28,22,.88) 0%, rgba(10,28,22,.63) 48%, rgba(10,28,22,.08) 100%); }
.category-content { position:relative; z-index:1; display:flex; height:100%; max-width:65%; flex-direction:column; align-items:flex-start; justify-content:center; padding:30px; }
.category-kicker { color:var(--lime); font-size:11px; font-weight:800; letter-spacing:.11em; }
.category-content strong { margin-top:9px; font-size:clamp(26px, 3vw, 38px); letter-spacing:-.055em; line-height:.97; }
.category-description { margin-top:13px; color:#eef3ee; font-size:14px; }
.category-product { margin-top:22px; border-left:2px solid var(--lime); padding-left:9px; color:#fff; font-size:13px; font-weight:700; }
.category-link { margin-top:16px; color:var(--lime); font-size:13px; font-weight:800; }
.product-grid { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.product { background:#fff; border:1px solid var(--line); border-radius:17px; overflow:hidden; }
.product img { width:100%; aspect-ratio:1.25; object-fit:cover; display:block; background:#e9ede7; }
.product-link { display:block; }
.product-link img { transition:transform .25s ease; }
.product-link:hover img { transform:scale(1.025); }
.product-body { padding:20px; }
.product-top { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.product h3 { font-size:23px; letter-spacing:-.04em; line-height:1.05; margin:0; }
.product h3 a { color:inherit; text-decoration:none; }
.product h3 a:hover { text-decoration:underline; text-decoration-thickness:2px; }
.price { font-size:22px; font-weight:800; white-space:nowrap; }
.product p { color:var(--muted); margin:13px 0; }
.product-meta span { background:#eef1ec; border-radius:99px; padding:5px 8px; font-size:12px; }
.product-note { font-size:12px; color:var(--muted); margin-top:15px; }
.availability { display:inline-block; margin:14px 0 0; border-radius:99px; padding:5px 9px; font-size:12px; font-weight:700; }
.availability.available { background:#eef1ec; color:var(--ink); }
.availability.unavailable, .unavailable-banner { background:#f2dfd9; color:#752d20; }
.product-unavailable img { filter:grayscale(.45); opacity:.72; }
.unavailable-banner { display:inline-block; border-radius:8px; padding:8px 11px; font-weight:700; margin:20px 0; }
.detail-link, .back-link { color:var(--ink); font-weight:700; text-decoration:none; }
.detail-link { display:inline-block; margin-top:16px; }
.detail-link:hover, .back-link:hover { text-decoration:underline; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; padding:0 24px; }
.card { border:1px solid var(--line); background:#fff; border-radius:17px; padding:25px; }
.card h2 { font-size:23px; letter-spacing:-.04em; margin:0 0 8px; }
.card p { color:var(--muted); margin:0; }
.status-card { background:var(--ink); border-color:var(--ink); }
.status-card h2 { color:var(--lime); }
.status-card p { color:#c8d3cc; }
.calculator { display:grid; grid-template-columns:1fr 1.45fr auto; align-items:end; gap:30px; margin:14px 24px 50px; }
form { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
label { font-size:12px; font-weight:700; }
input, select, button { display:block; width:100%; border:1px solid var(--line); border-radius:8px; padding:10px; margin-top:5px; font:inherit; }
button { grid-column:span 2; background:var(--lime); border-color:var(--lime); font-weight:800; cursor:pointer; }
output { font-size:29px; font-weight:800; white-space:nowrap; }
footer { border-top:1px solid var(--line); padding:28px 24px; color:var(--muted); font-size:13px; }
.product-page { padding:48px 24px 70px; }
.product-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); gap:54px; align-items:start; }
.product-gallery { min-width:0; }
.product-image-wrap { background:#fff; border:1px solid var(--line); border-radius:17px; overflow:hidden; }
.product-image-wrap img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.product-thumbnails { display:flex; gap:9px; overflow-x:auto; padding:12px 2px 2px; }
.product-thumbnail { display:block; flex:0 0 74px; height:74px; margin:0; padding:0; overflow:hidden; border:2px solid transparent; border-radius:10px; background:#fff; cursor:pointer; }
.product-thumbnail.is-active { border-color:var(--ink); }
.product-thumbnail img { display:block; width:100%; height:100%; object-fit:cover; }
.product-video { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.product-video h2 { margin:0 0 10px; font-size:18px; letter-spacing:-.02em; }
.product-video video { display:block; width:100%; max-height:560px; border-radius:14px; background:#111; }
.product-copy { padding-top:8px; }
.product-copy h1 { font-size:clamp(38px,5vw,64px); line-height:.96; letter-spacing:-.065em; margin:0; }
.product-copy .product-signature { margin:0; letter-spacing:normal; }
.signature-line { display:flex; align-items:center; gap:0; width:max-content; max-width:100%; color:#050505; font-family:"Arial Black", Impact, sans-serif; font-size:clamp(34px,5vw,58px); font-weight:900; line-height:.84; letter-spacing:-.09em; }
.signature-block { display:inline-block; padding:.16em .24em .14em; background:#050505; color:#fff; letter-spacing:-.075em; }
.signature-tail { display:inline-block; padding-left:.07em; }
.signature-subtitle { display:block; margin-top:14px; color:var(--muted); font-family:Arial,sans-serif; font-size:15px; font-weight:800; letter-spacing:.1em; line-height:1.2; text-transform:uppercase; }
.detail-price { font-size:28px; font-weight:800; margin:20px 0; }
.checkout-trigger { display:flex; width:auto; grid-column:auto; align-items:center; gap:22px; margin:0 0 20px; padding:13px 17px; border-radius:10px; background:var(--ink); color:#fff; font-size:14px; }
.checkout-trigger span { color:var(--lime); font-size:20px; line-height:.6; }
.checkout-modal { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:22px; }
.checkout-backdrop { position:absolute; inset:0; background:rgba(10,21,17,.62); backdrop-filter:blur(4px); }
.checkout-dialog { position:relative; z-index:1; width:min(860px,100%); max-height:min(780px,calc(100vh - 44px)); overflow:auto; padding:30px; border-radius:19px; background:#fff; box-shadow:0 25px 70px rgba(0,0,0,.3); }
.checkout-close { position:absolute; top:14px; right:14px; width:34px; height:34px; margin:0; padding:0; border:0; border-radius:50%; background:#edf0ec; color:var(--ink); font-size:24px; line-height:1; }
.checkout-heading { padding-right:38px; }
.checkout-heading h2 { margin:9px 0 23px; font-size:33px; line-height:1; letter-spacing:-.05em; }
.checkout-demo { display:inline-block; padding:5px 8px; border-radius:99px; background:#fff3cb; color:#755400; font-size:11px; font-weight:900; letter-spacing:.05em; }
.checkout-dialog form { display:block; }
.checkout-columns { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr); gap:24px; align-items:start; }
.checkout-fields h3, .checkout-summary h3 { margin:0 0 12px; font-size:17px; letter-spacing:-.025em; }
.checkout-fields h3:not(:first-child) { margin-top:24px; }
.checkout-fields label { display:block; margin-top:10px; color:var(--ink); }
.checkout-fields input, .checkout-fields select { margin-top:5px; background:#fff; }
.checkout-intro { margin:0 0 16px; color:var(--muted); font-size:14px; }
.checkout-field-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.checkout-summary { padding:18px; border-radius:13px; background:#f3f5f1; }
.checkout-summary > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:10px 0; border-top:1px solid var(--line); font-size:13px; }
.checkout-summary span { color:var(--muted); }
.checkout-summary strong { text-align:right; }
.checkout-summary .checkout-total { margin-top:4px; padding-top:13px; border-top:2px solid var(--ink); font-size:16px; }
.stripe-demo-button { display:flex; grid-column:auto; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:22px; padding:15px; border:0; border-radius:9px; background:#635bff; color:#fff; font-size:14px; }
.stripe-word { font-family:Arial,sans-serif; font-size:20px; font-weight:900; letter-spacing:-.07em; }
.checkout-note { margin:11px 0 0; color:var(--muted); font-size:12px; text-align:center; }
.checkout-note.is-error { color:#9b3023; font-weight:700; }
.checkout-result { padding:50px 20px 24px; text-align:center; }
.checkout-result h2 { margin:13px 0 8px; font-size:32px; letter-spacing:-.05em; }
.checkout-result p { max-width:440px; margin:0 auto; color:var(--muted); }
.checkout-done { width:auto; grid-column:auto; margin:25px auto 0; background:var(--ink); color:#fff; }
.checkout-success-page { max-width:620px; margin:30px auto; text-align:center; }
.checkout-success-page h1 { margin:0 0 12px; font-size:clamp(33px,5vw,52px); letter-spacing:-.06em; }
.checkout-success-page .checkout-done { display:inline-block; text-decoration:none; }
.variant-selector { display:block; margin:20px 0; color:var(--ink); font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.variant-selector select { max-width:280px; margin-top:7px; background:#fff; color:var(--ink); font-size:15px; font-weight:700; letter-spacing:normal; text-transform:none; }
.detail-description, .detail-intro { color:var(--muted); font-size:18px; max-width:560px; }
.product-description { margin:20px 0 0; }
.detail-intro { margin:0; }
.detail-highlights { display:grid; gap:9px; margin:18px 0; padding:0; list-style:none; }
.detail-highlights li { padding:11px 13px; border-left:3px solid var(--lime); background:#fff; color:var(--ink); font-weight:700; }
.detail-body { margin:0; color:var(--muted); }
.specs { border-top:1px solid var(--line); margin:28px 0 0; }
.specs div { display:grid; grid-template-columns:130px 1fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.specs dt { color:var(--muted); }
.specs dd { margin:0; font-weight:700; }
.shipping-card { margin-top:24px; padding:20px; border:1px solid var(--ink); border-radius:14px; background:#fff; }
.shipping-card h2 { margin:0 0 12px; font-size:18px; letter-spacing:-.02em; }
.shipping-card dl { margin:0; }
.shipping-card dl > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:8px 0; border-top:1px solid var(--line); }
.shipping-card dt { color:var(--muted); }
.shipping-card dd { margin:0; text-align:right; font-weight:700; }
.shipping-card .shipping-total { margin-top:5px; padding-top:12px; border-top:2px solid var(--ink); }
.shipping-card .shipping-total dt, .shipping-card .shipping-total dd { color:var(--ink); font-size:16px; font-weight:800; }
.verification { font-size:13px; color:var(--muted); margin:22px 0 0; }
.cookie-banner { position:fixed; z-index:20; right:18px; bottom:18px; width:min(440px,calc(100vw - 36px)); padding:18px; border:1px solid var(--ink); border-radius:14px; background:#fff; box-shadow:0 12px 35px rgba(19,37,31,.18); }
.cookie-banner p { margin:0; color:var(--ink); font-size:13px; }
.cookie-banner div { display:flex; gap:8px; margin-top:13px; }
.cookie-banner button { width:auto; margin:0; padding:9px 12px; background:#fff; border-color:var(--line); font-size:12px; }
.cookie-banner .cookie-accept { background:var(--lime); border-color:var(--lime); }
.account-page, .admin-page { padding:48px 24px 70px; }
.account-page { max-width:920px; margin:auto; }
.admin-page { max-width:1120px; margin:auto; }
.account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.account-form { display:block; }
.account-form h1, .admin-page h1 { margin:0 0 9px; letter-spacing:-.05em; font-size:34px; }
.account-form p, .account-page .card > p { color:var(--muted); margin:0 0 20px; }
.account-form label { display:block; margin-top:12px; }
.account-form button, .account-page button { width:auto; margin-top:20px; }
.account-form small { display:block; margin-top:5px; color:var(--muted); font-weight:400; }
.form-message { min-height:22px; color:#267343 !important; font-weight:700; }
.form-message.is-error { color:#9b3023 !important; }
table { width:100%; border-collapse:collapse; background:#fff; }
th, td { padding:10px; border-top:1px solid var(--line); text-align:left; font-size:13px; }
th { color:var(--muted); font-weight:700; }
.admin-loading { margin:0; color:var(--muted); }
.admin-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:22px; padding:12px 0 28px; }
.admin-hero h1 { margin:0; font-size:clamp(38px,5vw,60px); line-height:.94; letter-spacing:-.065em; }
.admin-hero p:last-child { margin:14px 0 0; color:var(--muted); font-size:17px; }
.admin-live { display:inline-flex; align-items:center; gap:7px; flex:0 0 auto; padding:7px 10px; border:1px solid var(--line); border-radius:99px; background:#fff; font-size:12px; font-weight:800; }
.admin-live i { width:8px; height:8px; border-radius:50%; background:#49a36f; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.metric-card { min-height:138px; padding:19px; border-radius:15px; background:var(--ink); color:#fff; display:flex; flex-direction:column; justify-content:space-between; }
.metric-card:nth-child(2n) { background:#fff; color:var(--ink); border:1px solid var(--line); }
.metric-card span { color:#ccd7d0; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.metric-card:nth-child(2n) span { color:var(--muted); }
.metric-card strong { font-size:44px; line-height:1; letter-spacing:-.06em; }
.admin-note { display:flex; justify-content:space-between; gap:24px; margin:18px 0; padding:17px 19px; border-left:4px solid var(--lime); border-radius:9px; background:#ecf0e9; }
.admin-note strong { flex:0 0 230px; }
.admin-note p { margin:0; color:var(--muted); font-size:13px; }
.dashboard-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.dashboard-card { min-width:0; padding:21px; border:1px solid var(--line); border-radius:17px; background:#fff; }
.dashboard-wide { grid-column:span 2; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:13px; }
.section-heading h2 { margin:0; font-size:21px; letter-spacing:-.04em; }
.section-heading span { min-width:30px; padding:4px 8px; border-radius:99px; background:var(--lime); text-align:center; font-size:12px; font-weight:800; }
.table-wrap { overflow-x:auto; }
.order-list { display:grid; gap:12px; }
.admin-order { padding:15px; border:1px solid var(--line); border-radius:12px; background:#fafbf9; }
.admin-order.is-pending { border-color:#b9db53; background:#f5fae8; }
.admin-order-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; }
.admin-order-head > div { display:grid; gap:4px; }
.admin-order-head > div:last-child { text-align:right; justify-items:end; }
.admin-order-head span { color:var(--muted); font-size:12px; }
.order-status { padding:3px 7px; border-radius:99px; background:#fff; border:1px solid var(--line); font-weight:800; }
.order-details { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:13px; padding-top:13px; border-top:1px solid var(--line); font-size:13px; }
.order-details > div { display:grid; gap:5px; }
.order-details span { color:var(--muted); line-height:1.4; }
.order-actions { display:flex; gap:9px; margin-top:15px; }
.order-actions button { width:auto; margin:0; padding:10px 13px; background:var(--lime); border-color:var(--lime); font-size:13px; }
.order-actions .order-reject { background:#fff; border-color:#c96d62; color:#8d2c24; }
.order-actions button:disabled { opacity:.6; cursor:wait; }
@media (max-width:760px) {
  .grid, .calculator { grid-template-columns:1fr; }
  .calculator { align-items:stretch; }
  .hero { padding-top:42px; }
  output { margin-top:-15px; }
  .catalog-head { display:block; }
  .catalog-head > p { margin-top:10px; }
  .category-grid, .product-grid { grid-template-columns:1fr; }
  .account-grid { grid-template-columns:1fr; }
  .metrics-grid, .dashboard-grid { grid-template-columns:1fr 1fr; }
  .dashboard-wide { grid-column:span 2; }
  .admin-note { display:block; }
  .admin-note p { margin-top:7px; }
  .order-details { grid-template-columns:1fr; }
  .category-tile { min-height:300px; }
  .product-detail { grid-template-columns:1fr; gap:24px; }
  .checkout-columns { grid-template-columns:1fr; }
  .product-page { padding-top:25px; }
  .topbar { padding-top:18px; padding-bottom:18px; }
  .topbar-actions { gap:6px; }
  .badge { display:none; }
}
@media (max-width:520px) {
  .admin-hero { display:block; }
  .admin-live { margin-top:16px; }
  .metrics-grid, .dashboard-grid { grid-template-columns:1fr; }
  .dashboard-wide { grid-column:span 1; }
  .metric-card { min-height:106px; }
  .checkout-dialog { padding:24px 18px; }
  .checkout-field-row { grid-template-columns:1fr; gap:0; }
}
