/*
Theme Name: VetAcademy Shop
Template: twentytwentyfive
Version: 2.0
Description: VetAcademy branded shop — дизайн система идентична с основния сайт (vetacademy.bg)
*/

/* ─── Design tokens (от vetacademy.bg global.css) ─────────────── */
:root{
  --color-brand-50:#f0fdfa; --color-brand-100:#ccfbf1; --color-brand-400:#2dd4bf;
  --color-brand-500:#14b8a6; --color-brand-600:#0d9488; --color-brand-700:#0f766e;
  --color-dark:#0f172a;
  --color-surface:#f8fafc;
  --color-border:#e2e8f0;
  --color-text:#0f172a;
  --color-text-muted:#64748b;
  --color-link:#0f766e;
  --color-logo-from:#f472b6; --color-logo-to:#e11d48;

  --font-sans:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;
  --radius-md:0.625rem; --radius-lg:0.75rem; --radius-full:9999px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.05);
  --shadow-md:0 4px 24px rgba(0,0,0,.06);
  --shadow-brand:0 8px 24px rgba(20,184,166,.4);
}

/* ─── Base typography ────────────────────────────────────────── */
body,button,input,select,textarea,.wp-block-navigation,
.woocommerce,.woocommerce-page{
  font-family:var(--font-sans);
  color:var(--color-text);
}
body{ background:var(--color-surface); }
a{ color:var(--color-link); }
a:hover{ color:var(--color-brand-600); }

/* ─── Header / nav ───────────────────────────────────────────── */
.wp-block-navigation a{ color:var(--color-text); font-weight:600; }
.wp-block-navigation a:hover{ color:var(--color-link); }

/* ─── Headings ───────────────────────────────────────────────── */
h1,h2,h3,h4,.wp-block-heading{ color:var(--color-dark); font-weight:800; letter-spacing:-.01em; }

/* ─── Primary buttons (brand teal gradient като .btn-brand) ──── */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wc-block-components-button,
.wp-element-button,
.wc-proceed-to-checkout .checkout-button,
button.single_add_to_cart_button{
  background:linear-gradient(135deg,var(--color-brand-500),var(--color-brand-600))!important;
  color:#fff!important;
  font-family:var(--font-sans);
  font-weight:700;
  border-radius:var(--radius-lg)!important;
  border:2px solid transparent!important;
  padding:.75rem 1.5rem;
  letter-spacing:.01em;
  transition:all .2s ease;
  box-shadow:none;
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.wc-block-components-button:hover,
.wp-element-button:hover,
.wc-proceed-to-checkout .checkout-button:hover,
button.single_add_to_cart_button:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow-brand);
}

/* ─── Secondary buttons (outline) ────────────────────────────── */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:#fff;
  color:var(--color-text);
  border:2px solid var(--color-border);
  border-radius:var(--radius-lg);
  font-weight:600;
  font-family:var(--font-sans);
  transition:all .2s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  border-color:var(--color-brand-500);
  color:var(--color-link);
}

/* ─── Форми (checkout, my-account) ───────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.wc-block-components-text-input input,
.select2-container .select2-selection{
  font-family:var(--font-sans);
  border-radius:var(--radius-md);
  border:1.5px solid var(--color-border);
  padding:.65rem .9rem;
  color:var(--color-text);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce-checkout .form-row input:focus{
  border-color:var(--color-brand-500);
  outline:2px solid var(--color-brand-100);
  outline-offset:0;
}

/* ─── Product cards / grid ───────────────────────────────────── */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:1rem;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .2s ease,transform .2s ease;
}
.woocommerce ul.products li.product:hover,
.wc-block-grid__product:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price{
  color:var(--color-brand-700);
  font-weight:800;
}

/* ─── Sale badge ─────────────────────────────────────────────── */
.woocommerce span.onsale{
  background:linear-gradient(135deg,var(--color-logo-from),var(--color-logo-to));
  color:#fff;
  border-radius:var(--radius-full);
  font-weight:700;
  min-height:auto;
  min-width:auto;
  padding:.25rem .7rem;
  line-height:1.4;
}

/* ─── Notices ────────────────────────────────────────────────── */
.woocommerce-message,
.woocommerce-info{
  border-top-color:var(--color-brand-500);
  border-radius:var(--radius-md);
}
.woocommerce-message::before,
.woocommerce-info::before{ color:var(--color-brand-500); }

/* ─── Footer ─────────────────────────────────────────────────── */
footer a{ color:inherit; text-decoration:underline; text-underline-offset:2px; }
footer a:hover{ color:var(--color-brand-400); }

/* ─── Footer 1:1 с vetacademy.bg ─────────────────────────────── */
.va-footer{ background:var(--color-dark,#0f172a); color:#94a3b8; }
.va-footer-inner{ max-width:1200px; margin:0 auto; padding:3.5rem 1.5rem 2rem; }
.va-footer-grid{ display:grid; grid-template-columns:1fr; gap:2.5rem; margin-bottom:3rem; }
@media(min-width:640px){ .va-footer-grid{ grid-template-columns:1fr 1fr; } }
@media(min-width:1024px){ .va-footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; } }
.va-footer-logo{ display:inline-flex; align-items:center; gap:.5rem; text-decoration:none; margin-bottom:1rem; }
.va-footer .va-footer-logo .va-footer-logo-img{ height:44px!important; max-height:44px!important; width:auto!important; object-fit:contain; }
.va-footer-desc{ font-size:.875rem; line-height:1.6; color:#64748b; max-width:340px; margin:0 0 1.25rem; }
.va-footer-socials{ display:flex; gap:.625rem; }
.va-social-link{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:.5rem; background:#1e293b; color:#64748b; text-decoration:none; transition:background .2s,color .2s; }
.va-social-link:hover{ background:var(--color-brand-500,#14b8a6); color:#fff; }
.va-footer-col-title{ font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#e2e8f0; margin:0 0 1rem; }
.va-footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.va-footer-link{ font-size:.875rem; color:#64748b; text-decoration:none; display:inline-flex; align-items:center; gap:.4rem; transition:color .15s; }
.va-footer-link:hover{ color:var(--color-brand-500,#14b8a6); }
.va-footer-contact-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.875rem; }
.va-footer-contact-item{ display:flex; align-items:flex-start; gap:.625rem; font-size:.875rem; color:#64748b; line-height:1.5; }
.va-footer-contact-icon{ flex-shrink:0; margin-top:2px; color:var(--color-brand-500,#14b8a6); opacity:.8; }
.va-footer-contact-link{ color:#94a3b8; text-decoration:none; transition:color .15s; }
.va-footer-contact-link:hover{ color:var(--color-brand-500,#14b8a6); }
.va-footer-bottom{ border-top:1px solid #1e293b; padding-top:1.5rem; display:flex; flex-direction:column; gap:.75rem; }
@media(min-width:640px){ .va-footer-bottom{ flex-direction:row; align-items:center; justify-content:space-between; } }
.va-footer-copy{ font-size:.8rem; color:#475569; margin:0; }
.va-footer-legal{ display:flex; gap:1.25rem; }
.va-footer-legal-link{ font-size:.8rem; color:#475569; text-decoration:none; transition:color .15s; }
.va-footer-legal-link:hover{ color:#94a3b8; }
.va-footer-credit{ margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid #1e293b; text-align:center; }
.va-footer-credit-text{ margin:0; font-size:.8rem; color:#475569; }
.va-footer-credit-link{ color:var(--color-brand-400,#2dd4bf); text-decoration:none; }
.va-footer-credit-link:hover{ text-decoration:underline; }

/* ─── Header 1:1 с vetacademy.bg ─────────────────────────────── */
.va-header{ position:sticky; top:0; z-index:50; background:rgba(255,255,255,.97); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-bottom:1px solid var(--color-border,#e2e8f0); }
.va-header-inner{ max-width:1200px; margin:0 auto; padding:0 1.5rem; height:72px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
@media(min-width:640px){ .va-header-inner{ height:80px; } }
.va-logo{ display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.va-header .va-logo .va-logo-img{ width:auto!important; height:44px!important; max-height:44px!important; object-fit:contain; }
@media(min-width:640px){ .va-header .va-logo .va-logo-img{ height:50px!important; max-height:50px!important; } }
.va-nav{ display:flex; align-items:center; gap:.25rem; flex-wrap:wrap; }
.va-nav a{ font-size:.9rem; font-weight:600; color:var(--color-text,#0f172a); text-decoration:none; padding:.5rem .85rem; border-radius:var(--radius-md,.625rem); transition:color .15s,background .15s; white-space:nowrap; }
.va-nav a:hover{ color:var(--color-link,#0f766e); background:var(--color-brand-50,#f0fdfa); }
.va-nav a.va-nav-cta{ color:#fff; background:linear-gradient(135deg,var(--color-brand-500,#14b8a6),var(--color-brand-600,#0d9488)); }
.va-nav a.va-nav-cta:hover{ color:#fff; box-shadow:var(--shadow-brand,0 8px 24px rgba(20,184,166,.4)); }
.va-nav a.va-nav-back{ color:var(--color-text-muted,#64748b); font-weight:500; }
@media(max-width:900px){ .va-header-inner{ flex-wrap:wrap; height:auto; padding:.75rem 1rem; } .va-nav{ font-size:.8rem; } }

/* ─── Базова типография 1:1 с vetacademy.bg ──────────────────── */
html{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
body{ font-size:16px; line-height:1.6; color:var(--color-text,#0f172a); }
h1,.wp-block-heading.is-style-h1{ font-size:clamp(2rem,4vw,3rem); font-weight:800; letter-spacing:-.02em; line-height:1.1; }
h2{ font-size:clamp(1.5rem,3vw,2.25rem); font-weight:800; letter-spacing:-.01em; line-height:1.2; }
h3{ font-size:1.25rem; font-weight:700; line-height:1.3; }
h4{ font-size:1.05rem; font-weight:700; }
p{ line-height:1.65; }

/* ─── Page hero (WooCommerce page/archive title) 1:1 с PageHero.astro ── */
.post-type-archive-product .wp-block-query-title,
.taxonomy-product_cat .wp-block-query-title,
.woocommerce .woocommerce-products-header{
  position:relative;
  background:var(--color-page-hero,#0c1a2e);
  color:#fff;
  text-align:center;
  margin:0 0 2.5rem;
  padding:3rem 1.5rem 2.5rem;
  overflow:hidden;
}
@media(min-width:640px){
  .post-type-archive-product .wp-block-query-title,
  .taxonomy-product_cat .wp-block-query-title,
  .woocommerce .woocommerce-products-header{ padding:4.5rem 1.5rem 3.5rem; }
}
/* teal blob декорация чрез псевдоелементи */
.post-type-archive-product .wp-block-query-title::before,
.woocommerce-products-header::before{
  content:""; position:absolute; width:500px; height:500px; border-radius:50%;
  filter:blur(80px); background:var(--color-brand-500,#14b8a6); opacity:.2;
  top:-200px; left:-100px; pointer-events:none;
}
.post-type-archive-product .wp-block-query-title::after,
.woocommerce-products-header::after{
  content:""; position:absolute; width:400px; height:400px; border-radius:50%;
  filter:blur(80px); background:var(--color-brand2,#A5055C); opacity:.15;
  bottom:-180px; right:-80px; pointer-events:none;
}
/* hero title текст */
.post-type-archive-product .wp-block-query-title,
.taxonomy-product_cat .wp-block-query-title,
.woocommerce-products-header__title{
  font-size:clamp(2.25rem,5vw,3.5rem)!important; font-weight:800!important;
  color:#fff!important; letter-spacing:-.03em; line-height:1.1; position:relative; z-index:1;
}
.woocommerce-products-header__title{ text-align:center; }

/* съдържанието под hero-то да има контейнер отстъп */
.woocommerce-page .entry-content,
.woocommerce main > .woocommerce-notices-wrapper,
.post-type-archive-product .wp-block-woocommerce-product-collection{
  max-width:1200px; margin-left:auto; margin-right:auto; padding-left:1.5rem; padding-right:1.5rem;
}

/* ─── Cart бутон в header ─────────────────────────────────────── */
.va-header-inner{ justify-content:flex-start; }
.va-header .va-nav{ margin-left:auto; }
.va-header-actions{ display:flex; align-items:center; margin-left:1.25rem; }
.va-cart-btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .9rem; border-radius:var(--radius-full,9999px); background:linear-gradient(135deg,var(--color-brand-500,#14b8a6),var(--color-brand-600,#0d9488)); color:#fff!important; text-decoration:none; font-weight:700; font-size:.85rem; transition:box-shadow .2s,transform .2s; white-space:nowrap; }
.va-cart-btn:hover{ transform:translateY(-1px); box-shadow:var(--shadow-brand,0 8px 24px rgba(20,184,166,.4)); }
.va-cart-icon{ position:relative; display:inline-flex; }
.va-cart-count{ position:absolute; top:-8px; right:-10px; min-width:18px; height:18px; padding:0 4px; border-radius:9999px; background:#fff; color:var(--color-brand-600,#0d9488); font-size:.7rem; font-weight:800; display:flex; align-items:center; justify-content:center; line-height:1; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.va-cart-total{ font-variant-numeric:tabular-nums; }
@media(max-width:640px){ .va-cart-total{ display:none; } .va-cart-btn{ padding:.5rem .6rem; } }


/* ─── Single product (WooCommerce БЛОКОВЕ) — само брандиране, БЕЗ смяна на layout ── */
/* заглавие */
.single-product .wp-block-post-title{ font-size:clamp(1.6rem,3.5vw,2.3rem); font-weight:800; color:var(--color-dark,#0f172a); letter-spacing:-.02em; line-height:1.2; }
/* цена (блок) */
.single-product .wp-block-woocommerce-product-price .woocommerce-Price-amount,
.single-product .wc-block-components-product-price{ color:var(--color-brand-700,#0f766e); font-size:1.6rem; font-weight:800; }
/* add-to-cart бутон (блок) */
.single-product .wc-block-add-to-cart-form button,
.single-product .single_add_to_cart_button.wp-element-button{ background:linear-gradient(135deg,var(--color-brand-500,#14b8a6),var(--color-brand-600,#0d9488))!important; color:#fff!important; border-radius:var(--radius-lg,.75rem)!important; font-weight:700!important; border:none!important; }
.single-product .wc-block-add-to-cart-form button:hover,
.single-product .single_add_to_cart_button.wp-element-button:hover{ box-shadow:var(--shadow-brand,0 8px 24px rgba(20,184,166,.4)); }
/* quantity selector (блок) */
.single-product .wc-block-components-quantity-selector input{ font-family:var(--font-sans); }
/* meta */
.single-product .wp-block-woocommerce-product-meta{ font-size:.85rem; color:var(--color-text-muted,#64748b); }
.single-product .wp-block-woocommerce-product-meta a{ color:var(--color-link,#0f766e); text-decoration:none; }
/* галерия — заоблени ъгли + fallback видимост (flexslider opacity:0 бъг) */
.single-product .woocommerce-product-gallery{ opacity:1!important; }
.single-product .woocommerce-product-gallery__wrapper{ border-radius:var(--radius-lg,.75rem); overflow:hidden; }
.single-product .woocommerce-product-gallery img{ display:block; width:100%; height:auto; border-radius:var(--radius-lg,.75rem); }
.single-product .woocommerce-product-gallery__image{ margin:0!important; }
/* tabs (класически, ако присъстват под блоковете) */
.single-product .woocommerce-tabs ul.tabs{ display:flex; gap:.5rem; border-bottom:1px solid var(--color-border,#e2e8f0); padding:0; list-style:none; }
.single-product .woocommerce-tabs ul.tabs li a{ display:inline-block; padding:.7rem 1.1rem; font-weight:700; color:var(--color-text-muted,#64748b); text-decoration:none; border-bottom:2px solid transparent; }
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{ color:var(--color-brand-700,#0f766e); border-bottom-color:var(--color-brand-500,#14b8a6); }

/* ─── Checkout header (distraction-free) ─────────────────────── */
.va-header--checkout .va-header-inner{ justify-content:space-between; }
.va-checkout-back{ font-size:.85rem; font-weight:600; color:var(--color-text-muted,#64748b); text-decoration:none; }
.va-checkout-back:hover{ color:var(--color-link,#0f766e); }
