/*
Theme Name: Vitasena Astra Child Final
Theme URI: https://example.invalid/
Description: Vitasena Research child theme for Astra, based on the supplied Vitasena functional storefront design.
Author: Vitasena
Template: astra
Version: 1.1.0
Text Domain: vitasena
*/

:root{
  --vs-ink:#17302e;
  --vs-muted:#6d7c79;
  --vs-paper:#fffdf9;
  --vs-cream:#f3f0e8;
  --vs-sage:#dde5de;
  --vs-line:#dfe4df;
  --vs-gold:#a68b59;
  --vs-white:#ffffff;
  --vs-shadow:0 18px 50px rgba(22,48,46,.09);
}

.vitasena-home,*{box-sizing:border-box}
.vitasena-home{margin:0;background:var(--vs-paper);color:var(--vs-ink);font-family:Arial,Helvetica,sans-serif}
.vitasena-home a{text-decoration:none;color:inherit}
.vitasena-home button,.vitasena-home input,.vitasena-home select{font:inherit}
.vitasena-home button{color:inherit}
.vitasena-home img{max-width:100%;display:block}
.vitasena-home .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vitasena-home .vs-topbar{background:var(--vs-ink);color:#fff;text-align:center;padding:9px 15px;font-size:12px;letter-spacing:.06em}
.vitasena-home .vs-header{max-width:1240px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative}
.vitasena-home .vs-brand{display:flex;align-items:center;gap:10px}
.vitasena-home .vs-brand-mark{width:40px;height:40px;border:1px solid var(--vs-ink);border-radius:50%;display:grid;place-items:center;font-weight:700}
.vitasena-home .vs-brand-text strong{display:block;font-size:15px;letter-spacing:.13em}
.vitasena-home .vs-brand-text small{display:block;font-size:9px;letter-spacing:.28em;color:var(--vs-muted);margin-top:2px}
.vitasena-home .vs-nav{display:flex;gap:18px;font-size:13px;align-items:center;flex-wrap:wrap;justify-content:center}
.vitasena-home .vs-nav a:hover{opacity:.55}
.vitasena-home .vs-menu-toggle{display:none;border:0;background:none;font-size:24px;cursor:pointer}
.vitasena-home .vs-cart-button{border:1px solid var(--vs-ink);background:transparent;border-radius:999px;padding:10px 14px;cursor:pointer}
.vitasena-home .vs-cart-button span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--vs-ink);color:#fff;font-size:11px;margin-left:5px}
.vitasena-home .vs-hero{max-width:1240px;margin:18px auto 55px;padding:40px 24px 20px;display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}
.vitasena-home .vs-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--vs-gold)}
.vitasena-home .vs-hero h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:18px 0 24px}
.vitasena-home .vs-hero h1 span{display:block;color:#738684}
.vitasena-home .vs-hero p{font-size:18px;line-height:1.65;color:var(--vs-muted);max-width:530px}
.vitasena-home .vs-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.vitasena-home .vs-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 20px;border:1px solid var(--vs-ink);cursor:pointer;background:transparent}
.vitasena-home .vs-button.primary{background:var(--vs-ink);color:#fff}
.vitasena-home .vs-button.secondary{background:transparent}
.vitasena-home .vs-hero-image-wrap{border-radius:30px;overflow:hidden;box-shadow:var(--vs-shadow);background:var(--vs-cream)}
.vitasena-home .vs-hero-image-wrap img{width:100%;height:520px;object-fit:cover}
.vitasena-home .vs-categories{max-width:1240px;margin:auto;padding:15px 24px 35px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.vitasena-home .vs-category-tile{border:1px solid var(--vs-line);background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;transition:.18s}
.vitasena-home .vs-category-tile:hover,.vitasena-home .vs-category-tile.active{background:var(--vs-cream);border-color:#ccd5cf}
.vitasena-home .vs-category-tile span{display:block;font-weight:700;font-size:14px}
.vitasena-home .vs-category-tile small{display:block;color:var(--vs-muted);margin-top:6px;font-size:11px}
.vitasena-home .vs-shop,.vitasena-home .vs-about,.vitasena-home .vs-information{max-width:1240px;margin:auto;padding:70px 24px}
.vitasena-home .vs-section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:34px}
.vitasena-home .vs-section-heading h2,.vitasena-home .vs-about h2{font-size:44px;letter-spacing:-.04em;margin:8px 0 0}
.vitasena-home .vs-shop-tools{display:flex;gap:10px;align-items:center}
.vitasena-home .vs-search input,.vitasena-home .vs-shop-tools select{border:1px solid var(--vs-line);background:#fff;border-radius:999px;padding:11px 14px;color:var(--vs-ink);outline:none}
.vitasena-home .vs-search input{min-width:220px}
.vitasena-home .vs-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vitasena-home .vs-product-card{border:1px solid var(--vs-line);border-radius:22px;overflow:hidden;background:#fff;transition:.18s}
.vitasena-home .vs-product-card:hover{transform:translateY(-4px);box-shadow:var(--vs-shadow)}
.vitasena-home .vs-product-visual{height:250px;background:var(--vs-cream);display:grid;place-items:center;position:relative;cursor:pointer}
.vitasena-home .vs-product-badge{position:absolute;top:14px;left:14px;background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;letter-spacing:.08em}
.vitasena-home .vs-vial-mini{width:92px;height:138px;background:#fff;border:1px solid #e6e5df;border-radius:8px 8px 19px 19px;box-shadow:0 17px 28px rgba(0,0,0,.11);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.vitasena-home .vs-vial-mini:before{content:"";position:absolute;top:-26px;width:58px;height:27px;background:#d4d4ce;border-radius:6px 6px 2px 2px}
.vitasena-home .vs-vial-mini small{font-size:7px;letter-spacing:.13em}
.vitasena-home .vs-vial-mini strong{font-size:10px;margin-top:11px;text-align:center;padding:0 6px}
.vitasena-home .vs-product-info{padding:17px}
.vitasena-home .vs-product-info h3{margin:0;font-size:16px}
.vitasena-home .vs-product-info p{font-size:12px;color:var(--vs-muted);line-height:1.5;min-height:36px}
.vitasena-home .vs-product-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px}
.vitasena-home .vs-product-bottom strong{font-size:15px}
.vitasena-home .vs-product-bottom span{font-size:11px;color:var(--vs-muted)}
.vitasena-home .vs-product-actions{display:flex;gap:8px;margin-top:14px}
.vitasena-home .vs-product-actions a{flex:1;border-radius:999px;padding:10px 12px;border:1px solid var(--vs-ink);background:transparent;cursor:pointer;text-align:center;font-size:12px}
.vitasena-home .vs-product-actions .add{background:var(--vs-ink);color:#fff}
.vitasena-home .vs-empty-state{text-align:center;color:var(--vs-muted);padding:50px 0}
.vitasena-home .vs-about{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vitasena-home .vs-about-card{padding:44px;border-radius:28px}
.vitasena-home .vs-about-card.soft{background:var(--vs-cream)}
.vitasena-home .vs-about-card.outline{border:1px solid var(--vs-line);display:flex;flex-direction:column;justify-content:center}
.vitasena-home .vs-about-card p{color:var(--vs-muted);line-height:1.7}
.vitasena-home .vs-about-card strong{font-size:24px}
.vitasena-home .vs-faq-list details{border-top:1px solid var(--vs-line);padding:21px 0}
.vitasena-home .vs-faq-list details:last-child{border-bottom:1px solid var(--vs-line)}
.vitasena-home .vs-faq-list summary{font-weight:700;cursor:pointer}
.vitasena-home .vs-faq-list p{color:var(--vs-muted)}
.vitasena-home .vs-footer{max-width:1240px;margin:auto;border-top:1px solid var(--vs-line);padding:50px 24px 70px;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:38px}
.vitasena-home .vs-footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.vitasena-home .vs-footer a,.vitasena-home .vs-footer p{display:block;color:var(--vs-muted);font-size:12px;margin:9px 0;line-height:1.6}
.vitasena-home .vs-no-products{grid-column:1/-1;background:var(--vs-cream);border-radius:18px;padding:30px;color:var(--vs-muted)}

@media(max-width:980px){
  .vitasena-home .vs-hero{grid-template-columns:1fr}
  .vitasena-home .vs-hero-image-wrap img{height:420px}
  .vitasena-home .vs-categories{grid-template-columns:repeat(2,1fr)}
  .vitasena-home .vs-product-grid{grid-template-columns:repeat(2,1fr)}
  .vitasena-home .vs-about{grid-template-columns:1fr}
}
@media(max-width:760px){
  .vitasena-home .vs-nav{display:none}
  .vitasena-home .vs-nav.open{display:flex;position:absolute;top:72px;left:20px;right:20px;z-index:20;background:#fff;border:1px solid var(--vs-line);border-radius:18px;padding:20px;flex-direction:column;box-shadow:var(--vs-shadow)}
  .vitasena-home .vs-menu-toggle{display:block}
  .vitasena-home .vs-cart-button{margin-left:auto}
  .vitasena-home .vs-section-heading{align-items:flex-start;flex-direction:column}
  .vitasena-home .vs-shop-tools{width:100%;flex-direction:column;align-items:stretch}
  .vitasena-home .vs-search input{width:100%;min-width:0}
  .vitasena-home .vs-categories{grid-template-columns:1fr 1fr}
  .vitasena-home .vs-footer{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
  .vitasena-home .vs-header{gap:10px}
  .vitasena-home .vs-brand-text strong{font-size:13px}
  .vitasena-home .vs-hero{padding-top:25px}
  .vitasena-home .vs-hero h1{font-size:46px}
  .vitasena-home .vs-hero-image-wrap img{height:330px}
  .vitasena-home .vs-categories{grid-template-columns:1fr}
  .vitasena-home .vs-product-grid{grid-template-columns:1fr}
  .vitasena-home .vs-footer{grid-template-columns:1fr}
  .vitasena-home .vs-cart-button{padding:9px 11px}
}


/* Layout hardening for narrower desktop windows */
html, body { max-width:100%; overflow-x:hidden; }
.vitasena-home main { width:100%; max-width:100%; overflow-x:hidden; }
.vitasena-home .vs-header,
.vitasena-home .vs-hero,
.vitasena-home .vs-categories,
.vitasena-home .vs-shop,
.vitasena-home .vs-about,
.vitasena-home .vs-information,
.vitasena-home .vs-footer { width:100%; max-width:1240px; }
.vitasena-home .vs-hero > *,
.vitasena-home .vs-categories > *,
.vitasena-home .vs-section-heading > *,
.vitasena-home .vs-shop-tools > *,
.vitasena-home .vs-product-grid > *,
.vitasena-home .vs-about > *,
.vitasena-home .vs-footer > * { min-width:0; }
.vitasena-home .vs-search { flex:1 1 260px; max-width:420px; }
.vitasena-home .vs-search input { width:100%; min-width:0; }
.vitasena-home .vs-shop-tools select { flex:0 1 240px; min-width:180px; }
.vitasena-home .vs-no-products { width:100%; }

@media(max-width:1100px){
  .vitasena-home .vs-section-heading{align-items:flex-start;flex-direction:column}
  .vitasena-home .vs-shop-tools{width:100%;flex-wrap:wrap}
  .vitasena-home .vs-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vitasena-home .vs-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .vitasena-home .vs-shop-tools{flex-direction:column;align-items:stretch}
  .vitasena-home .vs-search,.vitasena-home .vs-shop-tools select{max-width:none;width:100%;flex-basis:auto}
}


/* Vitasena information pages */
.vitasena-page{margin:0;background:var(--vs-paper);color:var(--vs-ink);font-family:Arial,Helvetica,sans-serif}
.vitasena-page *{box-sizing:border-box}
.vitasena-page a{text-decoration:none;color:inherit}
.vitasena-page .vs-topbar{background:var(--vs-ink);color:#fff;text-align:center;padding:9px 15px;font-size:12px;letter-spacing:.06em}
.vitasena-page .vs-header{max-width:1240px;margin:auto;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:22px;position:relative}
.vitasena-page .vs-brand{display:flex;align-items:center;gap:10px}
.vitasena-page .vs-brand-mark{width:40px;height:40px;border:1px solid var(--vs-ink);border-radius:50%;display:grid;place-items:center;font-weight:700}
.vitasena-page .vs-brand-text strong{display:block;font-size:15px;letter-spacing:.13em}
.vitasena-page .vs-brand-text small{display:block;font-size:9px;letter-spacing:.28em;color:var(--vs-muted);margin-top:2px}
.vitasena-page .vs-nav{display:flex;gap:18px;font-size:13px;align-items:center;flex-wrap:wrap;justify-content:center}
.vitasena-page .vs-nav a:hover{opacity:.55}
.vitasena-page .vs-menu-toggle{display:none;border:0;background:none;font-size:24px;cursor:pointer}
.vitasena-page .vs-cart-button{border:1px solid var(--vs-ink);background:transparent;border-radius:999px;padding:10px 14px}
.vitasena-page .vs-content-page{max-width:900px;margin:45px auto 90px;padding:0 24px}
.vitasena-page .vs-content-page .vs-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--vs-gold)}
.vitasena-page .vs-content-page h1{font-size:clamp(42px,6vw,64px);letter-spacing:-.045em;line-height:1.02;margin:12px 0 28px}
.vitasena-page .vs-content-page h2{font-size:28px;margin:36px 0 10px}
.vitasena-page .vs-content-page h3{font-size:20px;margin:28px 0 8px}
.vitasena-page .vs-content-page p,.vitasena-page .vs-content-page li{color:var(--vs-muted);line-height:1.75;font-size:16px}
.vitasena-page .vs-content-page details{border-top:1px solid var(--vs-line);padding:20px 0}
.vitasena-page .vs-content-page details:last-child{border-bottom:1px solid var(--vs-line)}
.vitasena-page .vs-content-page summary{font-weight:700;cursor:pointer}
.vitasena-page .vs-footer{max-width:1240px;margin:auto;border-top:1px solid var(--vs-line);padding:50px 24px 70px;display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:38px}
.vitasena-page .vs-footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.vitasena-page .vs-footer a,.vitasena-page .vs-footer p{display:block;color:var(--vs-muted);font-size:12px;margin:9px 0;line-height:1.6}
@media(max-width:900px){.vitasena-home .vs-nav{gap:12px;font-size:12px}.vitasena-page .vs-nav{display:none}.vitasena-page .vs-nav.open{display:flex;position:absolute;top:72px;left:20px;right:20px;z-index:20;background:#fff;border:1px solid var(--vs-line);border-radius:18px;padding:20px;flex-direction:column;box-shadow:var(--vs-shadow)}.vitasena-page .vs-menu-toggle{display:block}.vitasena-page .vs-cart-button{margin-left:auto}.vitasena-page .vs-footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vitasena-page .vs-footer{grid-template-columns:1fr}}
