:root{color-scheme:light;--ink:#19313c;--muted:#526970;--line:#ccd8d5;--paper:#f8faf8;--surface:#fff;--brand:#176276;--brand-dark:#104a59;--admin:#203943;--focus:#a45c16}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.55 system-ui,sans-serif}header{background:var(--admin);color:#fff;padding:1rem max(1rem,calc((100vw - 70rem)/2))}nav{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}nav a{color:#fff}main{max-width:70rem;margin:2rem auto;padding:0 1rem 4rem}h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:.35rem 0 .6rem}h2{margin-top:2rem}a{color:var(--brand)}a:hover{color:var(--brand-dark)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}article,.panel{background:var(--surface);padding:1.4rem;border:1px solid var(--line);border-radius:.35rem;margin:1rem 0}label{display:block;margin:.8rem 0;font-weight:600}input,select,textarea,button{font:inherit;padding:.55rem;border:1px solid #8ba5a6;border-radius:.25rem;max-width:100%}input[type=number]{width:8rem}textarea{display:block;width:min(100%,42rem)}button,.button{background:var(--brand);color:#fff;border:0;padding:.65rem 1rem;border-radius:.25rem;cursor:pointer;display:inline-block;text-decoration:none}button:hover,.button:hover{background:var(--brand-dark);color:#fff}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e0e6e2;padding:.7rem;vertical-align:top}small,.muted{color:var(--muted)}form.inline{display:inline-block}.alert{background:#fce6e6;padding:1rem}.notice{background:#e3f3e8;padding:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(16rem,100%),1fr));gap:1rem}.grid article{margin:0}.actions{display:flex;gap:.6rem;align-items:end;flex-wrap:wrap}code{overflow-wrap:anywhere}.site-header{background:#163d49}.site-main{max-width:70rem}.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(19rem,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.product-gallery img{display:block;width:100%;height:auto;background:#f0f2ee}.product-gallery img:first-child{grid-column:1/-1}.product-copy{white-space:pre-line}.product-options{list-style:none;padding:0;margin:0}.product-options li{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.admin-main{max-width:76rem}.admin-title{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.admin-title h1{margin-bottom:0}.admin-lead{color:var(--muted);margin-top:.4rem}.admin-section{margin-top:2rem}.sku-card h3{margin:.2rem 0}.sku-heading{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sku-meta{color:var(--muted);margin:.3rem 0 1rem}.stock-form{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap}.stock-form label{margin:0}.stock-form button{margin-bottom:.05rem}.product-images{width:100%;height:auto;max-width:100%;object-fit:contain}@media(max-width:700px){.product-layout{grid-template-columns:1fr}.product-gallery{max-width:38rem}table,thead,tbody,tr,td{display:block}thead{display:none}tr{border-bottom:2px solid #abb}td{border:0;padding:.25rem}.admin-title{align-items:start}.product-options li{align-items:start}}
/* Account pages live inside the same public shell as the rest of the site. */
.order-tracking-card{display:flex;align-items:center;gap:15px;min-height:102px;padding:15px;margin:0;border:1px solid #ddd;border-radius:3px;background:#f8f8f8;color:#012840}
.order-tracking-logo{display:block;flex:none;width:40px;height:40px;border-radius:5px;object-fit:contain}
.order-tracking-details{min-width:0;flex:1;overflow-wrap:anywhere;font-size:15px;line-height:1.45}
.order-tracking-details>strong{display:block;font-size:16px}
.order-tracking-details a{color:#0099e5;text-decoration:none}.order-tracking-details a:hover{text-decoration:underline}
.order-tracking-details small{display:block;color:#012840;font-size:13px}
.order-tracking-card .order-tracking-button{display:inline-block;flex:none;margin-left:auto;padding:10px 15px;border-radius:3px;background:#005c97;color:#fff;text-decoration:none;font-size:14px;font-weight:700}
.order-tracking-card .order-tracking-button:hover{background:#014772;color:#fff}
.account-page { background: #fff; color: #27343b; font: 16px/1.6 Lora, Georgia, serif; }
.account-page .announcement { background: #012840; color: #f7db7d; padding: 8px 20px; }
.account-page .announcement a { color: inherit; }
.account-page .site-header { position: sticky; top: 0; z-index: 100; background: #fff; color: #012840; padding: 0; box-shadow: 0 2px 5px #01284025; }
.account-page .header-inner { display: flex; max-width: none; min-height: 75px; margin: auto; padding: 0 60px; gap: 14px; justify-content: space-between; flex-wrap: nowrap; }
.account-page .desktop-links { gap: 14px; }
.account-page .desktop-links a { color: #012840; }
.account-page .mobile-menu-content a { color: #012840; }
.account-page .site-footer { background: #012840; color: #9fc5e8; padding: 60px 0 40px; }
.account-page .footer-inner { max-width: 1350px; padding: 0 24px; }
.account-page .footer-navigation { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.account-page .footer-navigation a { color: #9fc5e8; }
.account-page .footer-inner small { color: #f7db7d; }
.account-page .account-main { max-width: none; margin: 0; padding: 100px 24px 105px; min-height: 470px; background: white; }
.account-inner { max-width: 1230px; margin: auto; display: grid; grid-template-columns: 30% minmax(0, 1fr); gap: 24px; align-items: start; }
.account-nav { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 15px 20px 22px; background: #f5f5f5; }
.account-nav a, .account-nav button { display: block; width: 100%; padding: 6px 0; border: 0; border-radius: 0; background: none; color: #012840; text-align: left; text-decoration: none; font: inherit; cursor: pointer; }
.account-nav a:hover, .account-nav button:hover, .account-nav a[aria-current=page] { color: #245a91; background: none; }
.account-nav a[aria-current=page] { font-weight: 700; }
.account-nav form { margin: 0; }
.account-content { min-width: 0; }
.account-content a { color: #215c95; }
.account-content p { margin: 0 0 20px; }
.account-content .account-shop-link { display: inline-block; padding: 6px 17px; background: #9fc5e8; color: #fff; border-radius: 2px; font-weight: 700; text-decoration: none; }
.account-content .account-shop-link:hover { background: #215c95; }
.account-content h1 { font-size: 24px; margin: 0 0 18px; }
.account-content h2 { font-size: 19px; font-weight: 700; margin: 28px 0 13px; line-height: 1.4; }
.account-order-detail .order-tracking h2,.account-order-detail>h2{font-size:26px;line-height:1.3;margin:22px 0 16px;color:#012840}
.account-order-detail .order-tracking-card{max-width:860px}
.account-order-detail .order-tracking-card+.order-tracking-card{margin-top:10px}
.account-order-detail .order-tracking{margin-bottom:0}
.account-order-detail .order-tracking-details>div{margin-top:2px}
.account-order-detail .order-tracking-button{min-width:147px;text-align:center}
.account-greeting { margin-bottom: 18px; }
.inline-logout { display: inline; }
.inline-logout button { display: inline; padding: 0; background: none; border: 0; color: #215c95; font: inherit; text-decoration: underline; cursor: pointer; }
.account-content .account-metric { display: inline-flex; flex-direction: column; min-width: 175px; padding: 18px 24px; background: #f6f8fa; border: 1px solid #e8e8e8; text-align: center; }
.account-metric strong { font: 700 30px/1.3 Arial, sans-serif; color: #163d60; }
.account-metric span { font-size: 14px; }
.account-table-scroll { max-width: 100%; overflow-x: auto; margin: 0 0 22px; }
.account-content table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #e5e5e5; border-radius: 5px; font-size: 17px; }
.account-content th, .account-content td { padding: 10px 14px; text-align: left; vertical-align: middle; border: 0; border-bottom: 1px solid #e5e5e5; }
.account-content tbody tr:last-child > * { border-bottom: 0; }
.account-content thead th { font-weight: 700; }
.account-literature-table { min-width: 600px; }
.account-literature-table thead th { background: #f7f8fa; color: #123b58; }
.account-literature-table tbody th { min-width: 220px; color: #215c95; font-weight: 400; }
.account-literature-table tbody th strong { display: block; font-weight: 700; }
.account-literature-description { display: block; margin-top: 4px; color: #526474; font-size: 14px; line-height: 1.45; }
.literature-intro { max-width: 720px; margin: 0 0 18px; color: #526474; }
.account-literature-table .account-empty { margin: 0; }
.account-button, .account-content button { display: inline-block; padding: 8px 17px; background: #9fc5e8; border: 0; border-radius: 2px; color: #012840 !important; font: 700 16px/1.4 Lora, Georgia, serif; text-decoration: none; cursor: pointer; }
.account-content .inline-logout button { display: inline; padding: 0; background: none; color: #215c95 !important; font: inherit; text-decoration: underline; }
.account-content button:hover, .account-button:hover { background: #215c95; }
.account-empty { border-top: 3px solid #215c95; background: #f7f8fa; padding: 16px 20px; margin: 0 0 22px; }
.account-alert { border-top: 3px solid #b44040; padding: 15px; background: #fff1f1; }
.account-notice { border-top: 3px solid #215c95; padding: 15px; background: #f1f7fb; }
.account-content .account-demo { background: #f1f7fb; border-left: 3px solid #9fc5e8; padding: 8px 12px; font-size: 13px; margin: 12px 0; }
.address-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.address-grid section { min-width: 0; }
.account-content .address-grid header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0; background: none; color: inherit; }
.address-grid h2 { margin: 22px 0 10px; }
.address-grid address { font-style: normal; }
.account-form { max-width: 660px; margin-bottom: 24px; }
.account-form label { display: block; margin: 0 0 17px; font-weight: 500; }
.account-form input, .account-form select { display: block; width: 100%; margin-top: 7px; padding: 10px; border: 1px solid #d0d0d0; border-radius: 0; font: inherit; }
.account-form fieldset { padding: 20px; border: 1px solid #ddd; }
.account-form legend { padding: 0 8px; font-weight: 700; }
.account-content .subscription-card { border: 1px solid #e2e2e2; border-radius: 0; padding: 20px; margin: 0 0 20px; background: #fff; }
.subscription-card h2 { margin-top: 0; }
.subscription-card form { margin: 12px 0; }
.subscription-card label { display: block; margin-bottom: 10px; }
.account-address { white-space: pre-line; font-style: normal; margin-bottom: 25px; }
.account-content .subscription-summary th { width: 21%; font-weight: 400; }
.subscription-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.subscription-actions form { margin: 0; }
.subscription-plan { margin-top: 20px; }
.subscription-plan summary { width: fit-content; background: #9fc5e8; color: #012840; padding: 8px 14px; cursor: pointer; font-weight: 700; }
.subscription-plan form { display: grid; gap: 12px; margin-top: 14px; }
.subscription-plan select { width: 100%; }
@media (max-width: 720px) { .account-content .subscription-summary { min-width: 0; } .account-content .subscription-summary th { width: 35%; } .subscription-actions button { margin-bottom: 6px; } }
.affiliate-tabs { display: flex; gap: 20px; border-bottom: 1px solid #ddd; margin-bottom: 25px; }
.affiliate-tabs a { display: inline-block; padding: 10px 0; text-decoration: none; }
.affiliate-tabs a[aria-current=page] { border-bottom: 3px solid #215c95; font-weight: 700; }
.affiliate-dates { display: flex; gap: 20px; flex-wrap: wrap; }
.affiliate-dates label { font-size: 14px; }
.affiliate-dates input { display: block; padding: 8px; }
.affiliate-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.affiliate-metrics div { display: flex; flex-direction: column; min-height: 95px; padding: 15px; background: #f6f8fa; text-align: center; }
.affiliate-metrics strong { font-size: 23px; }
.affiliate-metrics span { font-size: 13px; }
@media (max-width: 1149px) { .account-page .header-inner { padding: 0 20px; } }
@media (min-width: 1150px) { .account-page .desktop-links { display: flex; } }
@media (max-width: 720px) { .account-page .account-main { padding: 35px 18px 70px; } .account-inner { display: block; } .account-nav { margin-bottom: 35px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 16px; } .account-content table { min-width: 550px; } .address-grid { grid-template-columns: 1fr; } .affiliate-metrics { grid-template-columns: repeat(2, 1fr); } .account-page .footer-navigation { grid-template-columns: 1fr; } .order-tracking-card{gap:11px;padding:12px}.order-tracking-logo{width:36px;height:36px}.account-order-detail .order-tracking-button{min-width:0;padding:9px 10px;font-size:13px} }

/* Logged-out /my-account/ uses the reference's welcome screen, not the signed-in sidebar. */
.account-page .account-login-main { max-width: none; margin: 0; padding: 85px 24px 110px; background: #9fc5e8; color: #012840; }
.account-login-inner { max-width: 1230px; margin: 0 auto; }
.account-login-inner h1 { margin: 0 0 80px; color: #fff; text-align: center; text-transform: uppercase; letter-spacing: .22em; font: 500 clamp(42px, 6vw, 90px)/1.2 Oswald, sans-serif; text-shadow: 7px 0 #f7db7d; }
.account-login-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 40px; }
.account-login-art { margin: 0; text-align: center; }
.account-login-art img { display: block; max-width: 100%; width: 467px; height: auto; margin: auto; }
.account-login-form { width: min(100%, 355px); margin: 0 auto; font-size: 18px; }
.account-login-form label { display: block; margin: 0 0 4px 8px; font-weight: 700; }
.account-login-form label span { color: #c72424; }
.account-login-form input:not([type=hidden]) { display: block; width: 100%; height: 62px; margin: 0 0 18px; padding: 12px 16px; border: 1px solid #aaa; border-radius: 10px; background: #fff; color: #012840; font: inherit; }
.account-login-form .account-login-reset { margin: -9px 0 26px 8px; }
.account-login-form a { color: #012840; font-weight: 700; text-decoration: underline; }
.account-login-actions { text-align: center; }
.account-login-actions button { min-width: 212px; padding: 19px 35px; border: 0; border-radius: 100px; background: #f7db7d; color: #012840; box-shadow: 0 4px 5px #01284040; font: 700 18px Lora, Georgia, serif; text-transform: uppercase; cursor: pointer; }
.account-login-actions button:hover { background: #fff0aa; }
.account-login-actions p { margin: 24px 0 0; }
.account-login-main .account-alert { max-width: 600px; margin: -40px auto 30px; }
@media (max-width: 720px) {
  .account-page .account-login-main { padding: 50px 20px 75px; }
  .account-login-inner h1 { margin-bottom: 36px; letter-spacing: .12em; text-shadow: 4px 0 #f7db7d; }
  .account-login-grid { grid-template-columns: 1fr; gap: 32px; }
  .account-login-art img { width: min(100%, 300px); }
  .account-login-main .account-alert { margin: 0 auto 25px; }
}
.checkout-page { max-width:1230px; margin:40px auto 80px; padding:0 24px; color:#012840; font-family:Lora,Georgia,serif; font-size:17px; }
.checkout-page .screen-reader-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.checkout-notice { padding:17px 24px; border-top:3px solid #65b8d5; background:#f7f6f7; margin:0 0 28px; }
.checkout-columns { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; }
.checkout-page fieldset { border:0; padding:0; margin:0 0 24px; min-width:0; }
.checkout-page legend,.checkout-page h2 { font-size:25px; font-weight:600; margin:0 0 24px; padding:0; }
.checkout-page label { display:block; margin:0 0 18px; line-height:1.7; }
.checkout-page input:not([type=checkbox]):not([type=hidden]),.checkout-page select { display:block; box-sizing:border-box; width:100%; min-height:46px; padding:10px 15px; border:1px solid #bbb; background:white; border-radius:0; color:#012840; font:inherit; }
.checkout-page input:focus-visible,.checkout-page select:focus-visible,.checkout-page button:focus-visible { outline:3px solid #65b8d5; outline-offset:2px; }
.address-name-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.checkout-page .checkout-check { display:flex; align-items:baseline; gap:10px; }
.checkout-page input[type=checkbox] { width:18px; height:18px; accent-color:#012840; }
.checkout-page [hidden] { display:none; }
.checkout-review { min-width:0; }
.checkout-review table { border:1px solid #ddd; border-collapse:collapse; width:100%; margin:0 0 24px; }
.checkout-review th,.checkout-review td { padding:14px 12px; border-bottom:1px solid #ddd; text-align:left; }
.checkout-review td:last-child,.checkout-review th:last-child { text-align:right; white-space:nowrap; }
.checkout-payment { background:#ebe9eb; padding:24px; border-radius:4px; }
.checkout-payment h3 { font-size:19px; margin:0 0 12px; }
.checkout-payment p { margin:16px 0; line-height:1.7; }
.checkout-payment button { width:100%; padding:14px 22px; background:#012840; color:white; border:0; border-radius:2px; font:inherit; font-weight:bold; cursor:pointer; }
.checkout-payment button:disabled { opacity:.55; cursor:wait; }
@media(max-width:760px) { .checkout-page { margin-top:24px; padding:0 18px; } .checkout-columns { grid-template-columns:1fr; gap:24px; } .checkout-payment { padding:18px; } .checkout-review th,.checkout-review td { padding:12px 8px; } }
