.logo-link{display:block}.logo-link img{display:block;width:145px;height:54px;object-fit:contain}header{gap:24px}.header-search{flex:1;max-width:430px;margin-left:auto}.header-search input{height:44px;border-radius:99px;background:#f5f7f2;padding-left:20px}.header-search .suggestions{left:0;right:auto;width:100%}.product-anchor{height:34px;scroll-margin-top:110px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.card-ingredients{display:block;color:#78857d;margin-top:8px;line-height:1.4}.ingredients{background:var(--cream);padding:18px;margin:20px 0}.ingredients h2{font:700 20px Fraunces;margin:0 0 7px}.ingredients p{margin:0;color:var(--muted);line-height:1.6}.captcha-label{padding:16px;background:var(--cream);border-left:3px solid var(--green)}
.about-hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:#eef2df;align-items:center}.about-hero>div{padding:70px max(7vw,30px)}.about-hero h1{font:700 clamp(56px,7vw,90px)/.93 Fraunces;margin:18px 0 25px}.about-hero p{font-size:18px;line-height:1.8;color:var(--muted)}.about-hero img{width:100%;height:620px;object-fit:cover}.about-manifesto{padding:100px max(12vw,30px);text-align:center}.about-manifesto h2{font:700 clamp(44px,6vw,75px) Fraunces;margin:15px 0}.about-manifesto p{max-width:850px;margin:auto;font-size:19px;line-height:1.8;color:var(--muted)}.about-values{display:grid;grid-template-columns:repeat(4,1fr);padding:0 max(5vw,24px) 100px;gap:15px}.about-values article{background:var(--cream);padding:28px}.about-values span{color:var(--orange);font:700 28px Fraunces}.about-values h3{font:700 24px Fraunces}.about-values p{color:var(--muted);line-height:1.7}.about-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--ink);color:#fff}.about-story>img{width:100%;height:650px;object-fit:cover}.about-story>div{padding:65px max(7vw,35px)}.about-story h2{font:700 50px Fraunces}.about-story p{color:#c6d1ca;line-height:1.8}.about-story blockquote{font:600 24px/1.5 Fraunces;border-left:3px solid var(--orange);margin:30px 0;padding-left:22px}.np-product-grid{padding:20px 0 0;text-align:left}.np-product-grid .product-info{min-height:230px}
.contact-actions{display:flex;align-items:center;gap:15px;margin-bottom:16px}.contact-actions small{color:var(--green)}.whatsapp-btn{border:0;border-radius:6px;background:#25d366;color:#062c16;padding:11px 16px;font-weight:700;cursor:pointer}.settings-panel{max-width:650px;background:#fff;border:1px solid var(--line);padding:35px}.settings-panel h2{font:700 32px Fraunces;margin-top:0}.settings-panel>p{color:var(--muted);line-height:1.7}.settings-panel form small{color:var(--muted)}.admin .logo-link img{filter:brightness(0) invert(1);width:150px}
@media(max-width:1050px){header{flex-wrap:wrap}.header-search{order:3;max-width:none;flex-basis:100%}header nav{margin-left:auto}.about-values{grid-template-columns:1fr 1fr}}
@media(max-width:750px){.about-hero,.about-story{grid-template-columns:1fr}.about-hero img,.about-story>img{height:430px}.about-values{grid-template-columns:1fr}.about-manifesto{padding:70px 25px}header nav{width:100%;overflow:auto;flex-wrap:nowrap;justify-content:flex-start}.logo-link img{width:120px;height:45px}.header-search{order:2;flex-basis:auto}.category-bar{top:0}}
@media(max-width:520px){header{gap:10px}.header-search{order:3;flex-basis:100%}.about-hero>div{padding:55px 25px}.about-hero h1{font-size:53px}.about-story>div{padding:50px 25px}.about-story h2{font-size:42px}}
.website-field{position:absolute!important;left:-10000px!important}
.admin .logo-link img,.site-footer .logo-link img{filter:none;background:#fff;border-radius:5px;padding:4px}
.settings-panel{max-width:1100px}.settings-panel form{max-width:650px}.settings-subheading{margin-top:45px!important}.settings-panel code{font-size:11px;white-space:normal;word-break:break-word}.whatsapp-btn.contacted{background:#dfeec8;color:#17362b}
header nav>a:not(.cart-link){position:relative;padding:10px 2px}header nav>a:not(.cart-link)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:2px;background:var(--orange);transition:.2s}header nav>a:not(.cart-link):hover::after,header nav>a.active::after{right:0}header nav>a.active{color:var(--green)}header .cart-link.active{background:var(--orange)}
.captcha-label{display:grid;gap:10px}.captcha-row{display:flex;align-items:center;gap:8px}.captcha-row img{border:1px solid #cbd5c2;border-radius:7px;background:#f1f5e9}.captcha-refresh{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green);font-size:23px;cursor:pointer}.captcha-label>span{font-size:13px;font-weight:700}.captcha-label label{max-width:210px}
.buy button.added,.detail-add.added{background:var(--lime);border-color:var(--green);color:var(--ink)}
/* Admin contact table and product tag controls */
.contact-table table { min-width: 1050px; }
.contact-table th { white-space: nowrap; }
.contact-table td { vertical-align: top; }
.contact-message-cell { margin-top: .45rem; max-width: 360px; color: #5b625c; line-height: 1.45; }
.contact-table .request-action { display: grid; gap: .5rem; min-width: 130px; }
.contact-table .contact-actions { display: grid; gap: .45rem; min-width: 145px; }
.tag-picker { display: grid; gap: .6rem; }
.tag-picker > span { font-weight: 700; }
.tag-picker > div { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }

/* Nutripress tag navigation */
.np-catalogue-layout { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 2rem; align-items: start; }
.np-tag-filter { position: sticky; top: 110px; display: grid; gap: .35rem; padding: 1rem; border: 1px solid #e2e8df; border-radius: 16px; background: #fff; }
.np-tag-filter b { margin-bottom: .4rem; }
.np-tag-filter a { display: flex; justify-content: space-between; padding: .65rem .75rem; border-radius: 10px; color: inherit; text-decoration: none; }
.np-tag-filter a.active, .np-tag-filter a:hover { background: #edf6ea; color: #216d32; }
.np-tag-filter small { opacity: .65; }
@media (max-width: 760px) {
  .np-catalogue-layout { grid-template-columns: 1fr; gap: 1rem; }
  .np-tag-filter { position: static; display: flex; overflow-x: auto; white-space: nowrap; }
  .np-tag-filter b { display: none; }
}

/* Contact workflow */
.contact-status-tabs { display:flex; gap:8px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.contact-status-tabs a { display:flex; align-items:center; gap:7px; padding:10px 15px; color:var(--muted); text-decoration:none; border-bottom:3px solid transparent; }
.contact-status-tabs a.active { color:var(--green); border-color:var(--green); font-weight:700; }
.contact-status-tabs b { display:grid; place-items:center; min-width:23px; height:23px; padding:0 6px; border-radius:99px; background:#edf2e8; font-size:11px; }
.contact-page { min-height:auto; padding:38px max(6vw,24px); gap:48px; align-items:start; }
.contact-intro h1 { font-size:clamp(38px,4.5vw,62px); margin:12px 0 18px; }
.contact-form { padding:22px 25px; gap:11px; border-radius:16px; }
.contact-form label { gap:5px; }
.contact-form input,.contact-form textarea { padding:10px 12px; }
.contact-form textarea { min-height:74px; resize:vertical; }
.compact-captcha { grid-template-columns:auto 1fr; align-items:end; gap:8px 14px; padding:10px 12px; }
.compact-captcha > span { grid-column:1/-1; }
.compact-captcha .captcha-row img { width:120px; height:42px; }
.compact-captcha .captcha-refresh { width:38px; height:38px; }
.compact-captcha > label { min-width:150px; }
.contact-form > .button { justify-self:start; min-width:160px; }

/* Nutripress resilience and responsive catalogue */
.np-catalogue-layout > .np-product-grid { min-width:0; }
.np-catalogue-layout.no-tags { grid-template-columns:minmax(0,1fr); }
.np-catalogue-layout.no-tags > .np-product-grid { grid-column:1 / -1; width:100%; }
.np-catalogue-layout > .np-product-grid:first-child { grid-column:1 / -1; }
.np-product-grid { grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); width:100%; }
.np-product-grid .product { min-width:0; }
.np-product-grid .photo img { width:100%; }

@media (max-width: 850px) {
  .contact-page { grid-template-columns:.75fr 1.25fr; gap:24px; padding:26px 20px; }
  .contact-intro h1 { font-size:38px; }
}
@media (max-width: 680px) {
  .contact-status-tabs { overflow-x:auto; }
  .contact-page { grid-template-columns:1fr; gap:14px; padding:22px 14px 100px; }
  .contact-intro .eyebrow { display:none; }
  .contact-intro h1 { font-size:32px; margin:0 0 7px; }
  .contact-intro p { font-size:14px; line-height:1.45; margin:0; }
  .contact-form { padding:16px; gap:10px; }
  .contact-form .two { grid-template-columns:1fr 1fr; gap:9px; }
  .compact-captcha { grid-template-columns:auto 1fr; align-items:end; }
  .compact-captcha > span { grid-column:1/-1; }
  .compact-captcha .captcha-row { justify-content:flex-start; }
  .compact-captcha > label { max-width:none; }
  .contact-form > .button { width:100%; justify-self:stretch; }
  .np-range { padding-left:14px; padding-right:14px; }
  .np-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .np-product-grid .product-info { min-height:0; padding:12px; }
  .np-product-grid .product-info p,.np-product-grid .card-ingredients { display:none; }
  .np-product-grid .buy { align-items:flex-start; gap:8px; }
}

/* Location selector */
.city-select { display:grid; gap:1px; min-width:120px; padding:6px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.city-select span { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
.city-select select { border:0; padding:0 18px 0 0; background:transparent; color:var(--green); font-weight:700; }

/* Sortable catalogue tables */
.admin-table-tools { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.admin-table-tools label { display:grid; gap:5px; font-size:12px; font-weight:700; }
.admin-table-tools select { min-width:190px; }
.sortable-table th[data-sort] { cursor:pointer; user-select:none; }
.sortable-table th[data-sort]::after { content:' ↕'; opacity:.35; }
.sortable-table th[data-direction='asc']::after { content:' ↑'; opacity:1; }
.sortable-table th[data-direction='desc']::after { content:' ↓'; opacity:1; }
.category-create-form { align-items:end; flex-wrap:wrap; }
.category-create-form input[type='url'] { min-width:260px; }
.file-field { display:grid; gap:4px; font-size:12px; }
.category-thumb { width:62px; height:48px; border-radius:8px; overflow:hidden; background:#f2f3ef; display:grid; place-items:center; }
.category-thumb img { width:100%; height:100%; object-fit:cover; }
.category-thumb span { font-size:10px; color:var(--muted); }

/* Mobile cart and checkout */
.mobile-cart-title { display:none; }
.delivery-progress { padding:16px; border-radius:14px; background:#edf6ea; margin-top:14px; }
.delivery-progress div { display:grid; gap:9px; }
.delivery-progress b { font-size:13px; color:var(--green); }
.delivery-progress span { display:block; height:6px; background:#d3dfcf; border-radius:99px; overflow:hidden; }
.delivery-progress i { display:block; height:100%; background:var(--green); border-radius:inherit; }
.cart-addons { margin-top:24px; }
.cart-addons > div:last-child { display:flex; gap:12px; overflow-x:auto; padding-bottom:8px; }
.cart-addons article { position:relative; min-width:180px; border:1px solid var(--line); border-radius:14px; padding:10px; background:#fff; }
.cart-addons article img { width:100%; height:105px; object-fit:cover; border-radius:10px; }
.cart-addons article span { display:grid; gap:3px; margin-top:8px; }
.cart-addons article small { color:var(--muted); }
.cart-addons article button { position:absolute; right:17px; top:93px; border:1px solid var(--green); border-radius:8px; background:#fff; color:var(--green); font-weight:700; padding:6px 10px; }
.delivery-date { display:grid!important; gap:4px; padding:15px 0; border-top:1px solid var(--line); }
.delivery-date span,.delivery-date small { color:var(--muted); }

@media (max-width: 760px) {
  body:has(.mobile-cart-title) { background:#f5f6f3; }
  body:has(.mobile-cart-title) > header { display:none; }
  body:has(.mobile-cart-title) main { padding-top:0; padding-bottom:150px; }
  .mobile-cart-title { position:sticky; top:0; z-index:20; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:8px; padding:15px 16px; background:#fff; border-bottom:1px solid var(--line); }
  .mobile-cart-title a { color:inherit; font-size:22px; text-decoration:none; }
  .mobile-cart-title b { font-size:18px; }
  .mobile-cart-title select { max-width:120px; border:0; background:#edf6ea; color:var(--green); border-radius:8px; padding:7px; font-weight:700; }
  .mobile-cart-title + .page-head { display:none; }
  .cart-layout { display:block; padding:12px; }
  .cart-items,.summary { background:transparent; padding:0; }
  .cart-row { display:grid; grid-template-columns:74px 1fr auto; gap:12px; align-items:center; margin-bottom:10px; padding:12px; border:0; border-radius:14px; background:#fff; box-shadow:0 2px 10px rgba(22,45,29,.04); }
  .cart-row img { width:74px; height:74px; border-radius:10px; object-fit:cover; }
  .cart-row > div:nth-child(2) { align-self:start; }
  .cart-row h3 { margin:3px 0 5px; font-size:15px; }
  .cart-row p { margin:0; font-size:12px; color:var(--muted); }
  .cart-row .qty { grid-column:2; justify-self:start; display:flex; align-items:center; gap:12px; border:1px solid var(--green); border-radius:8px; padding:3px 5px; }
  .cart-row .qty button { width:24px; height:24px; border:0; background:transparent; color:var(--green); font-weight:800; }
  .cart-row > strong { grid-column:3; grid-row:1 / span 2; align-self:end; }
  .delivery-progress { margin:4px 0 18px; }
  .cart-addons { margin:0 0 16px; }
  .cart-addons .section-title { padding:0 3px; }
  .cart-addons article { min-width:155px; }
  .summary { margin-top:14px; }
  .summary > h2,.summary > div,.summary > hr,.summary > form>label,.summary > form>.hint { background:#fff; margin:0; padding:12px 16px; }
  .summary > h2 { border-radius:14px 14px 0 0; padding-top:16px; }
  .summary > hr { border:0; border-top:1px solid var(--line); padding:0; }
  .summary .delivery-date { margin-top:12px; border-radius:14px; }
  .summary form.ajax { display:contents; }
  .summary form.ajax .button,.summary > .button.wide { position:fixed; z-index:25; left:12px; right:12px; bottom:72px; width:calc(100% - 24px); min-height:54px; border-radius:14px; box-shadow:0 8px 28px rgba(22,52,29,.25); }
  .summary form.ajax .message { position:fixed; z-index:26; left:20px; right:20px; bottom:132px; }
  .city-select { order:2; margin-left:auto; }
}
