/* Vendafly v3 — own identity: plum/purple, flight-delivery motif.
   Layout convention (band / container separation — never deviate):
   a "band" (.vendafly-section, hero, header, footer) is full-width and owns
   ONLY its background + vertical padding. A ".vendafly-container" inside it
   owns the max width + page gutter. Content therefore can never sit flush
   against a band's edge, at any viewport, without per-component fixes. */
:root {
  --vendafly-purple: #6d28d9;
  --vendafly-rail: 1200px;
  --vendafly-gutter: clamp(1rem, 4vw, 2rem);
  --vendafly-section: clamp(2.5rem, 5vw, 3.5rem);
  --vendafly-gap: 1.5rem;
  --vendafly-card-pad: 1.5rem;
  --vendafly-radius: 1.1rem;
}
.wp-site-blocks { overflow-x: clip; }
.vendafly-container {
  width: min(var(--vendafly-rail), calc(100% - (var(--vendafly-gutter) * 2)));
  margin-inline: auto;
}

/* ---------- Header: single compact bar (sticky) ---------- */
header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.vendafly-header { border-bottom: 1px solid #eadff7; box-shadow: 0 6px 24px rgba(28,15,48,.05); }
.vendafly-header__row { gap: var(--vendafly-gap); padding-block: 1rem; }
.vendafly-brand { gap: .6rem; }
.vendafly-brand__name { font-family: Manrope, system-ui, sans-serif; font-weight: 800; font-size: 1.3rem; letter-spacing: .01em; }
.vendafly-brand__name a { color: var(--wp--preset--color--ink); text-decoration: none; }
.vendafly-mainnav { font-weight: 600; font-size: .97rem; }
.vendafly-mainnav a:hover { color: var(--vendafly-purple); }
.vendafly-header__actions { gap: 1rem; }
.vendafly-search { display: flex; gap: .45rem; align-items: center; }
.vendafly-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.vendafly-search input[type="search"] { width: 180px; border: 1.5px solid #e3d7f7; border-radius: 999px; padding: .55rem 1rem; background: #faf8ff; font: inherit; }
.vendafly-search button { background: var(--vendafly-purple); color: #fff; border: 0; border-radius: 999px; padding: .58rem 1.15rem; font-weight: 700; cursor: pointer; font: inherit; }
.vendafly-cart .wc-block-mini-cart__button { background: var(--wp--preset--color--ink); color: #fff; border-radius: 999px; padding: .5rem .95rem; }
@media (max-width: 900px) {
  .vendafly-header__row { flex-wrap: wrap !important; }
  .vendafly-header__actions { order: 3; flex-basis: 100%; min-width: 0; }
  .vendafly-search { flex: 1; min-width: 0; }
  .vendafly-search input[type="search"] { flex: 1; width: auto; min-width: 0; }
}

/* ---------- Hero (plum) + delivery pass ---------- */
.vendafly-hero-wrap {
  background:
    radial-gradient(700px 340px at 85% -10%, rgba(167,139,250,.35), transparent 60%),
    radial-gradient(600px 300px at -10% 110%, rgba(124,58,237,.35), transparent 60%),
    linear-gradient(135deg, #241040, #37166b 58%, #4c1d95);
  color: #fff;
}
.wp-site-blocks .vendafly-hero-wrap { padding-top: clamp(3rem, 5vw, 4rem); padding-bottom: clamp(3rem, 5vw, 4rem); }
.vendafly-hero-wrap .wp-block-columns { gap: 3rem; margin-bottom: 0; }
.vendafly-ticks { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; list-style: none; padding: 0; margin-top: 1.5rem; margin-bottom: 0; font-weight: 600; font-size: .93rem; color: #e6defc; }
.vendafly-ticks li::before { content: "✓"; color: #c4b5fd; font-weight: 800; margin-right: .4rem; }
.vendafly-pass { background: #fff; color: var(--wp--preset--color--ink); border-radius: 1.25rem; padding: 0; overflow: hidden; box-shadow: 0 28px 60px rgba(10,4,24,.35); max-width: 460px; margin-left: auto; }
.vendafly-pass__head { background: var(--vendafly-purple); color: #fff; padding: 1rem 1.5rem; display: flex; justify-content: space-between; align-items: center; font-family: Manrope, system-ui, sans-serif; }
.vendafly-pass__body { padding: var(--vendafly-card-pad); }
.vendafly-pass__row { display: flex; justify-content: space-between; gap: 1rem; padding-block: .45rem; }
.vendafly-pass__row span:first-child { color: #8577a3; }
.vendafly-pass__perf { border-top: 2px dashed #e3d7f7; margin: .8rem 1.5rem 0; position: relative; }
.vendafly-pass__foot { padding: 0 var(--vendafly-card-pad) var(--vendafly-card-pad); color: #8577a3; font-size: .88rem; }

/* ---------- Sections: ONE rail, ONE rhythm ---------- */
.vendafly-section { padding-block: var(--vendafly-section); }
.vendafly-section--tight { padding-block: calc(var(--vendafly-section) * .6); }
.vendafly-section__head { margin-bottom: var(--vendafly-gap); max-width: 640px; margin-left: 0 !important; margin-right: auto !important; }
.vendafly-section__head h2, .vendafly-section__head p { margin-block: 0 .5rem; text-align: left; }
/* Blocks keep standalone margins elsewhere; inside a section the section owns spacing. */
.vendafly-section .vendafly-badges, .vendafly-section .vendafly-steps,
.vendafly-section .vendafly-reviews, .vendafly-section .vendafly-cta { margin-block: 0; }
.vendafly-section__inner > * + * { margin-top: var(--vendafly-gap); }
.vendafly-section__inner > .vendafly-section__head + * { margin-top: 0; }
.vendafly-section__head p { color: var(--wp--preset--color--slate); }

/* ---------- Footer ---------- */
.wp-site-blocks .vendafly-footer { padding-top: clamp(2.75rem, 4vw, 3.5rem); padding-bottom: 2.5rem; }
.vendafly-footer .wp-block-columns { margin-bottom: 0; }
.vendafly-footer__brand { font-family: Manrope, system-ui, sans-serif; font-weight: 800; font-size: 1.4rem; }
.vendafly-footer__brand a { color: #fff; text-decoration: none; }
.vendafly-footer__blurb { color: #c9bdea; line-height: 1.6; max-width: 32ch; }
.vendafly-footer__h { font-size: .82rem !important; text-transform: uppercase; letter-spacing: .12em; color: #a78bfa; margin-bottom: 1rem; }
.vendafly-footer ul { list-style: none; padding: 0; margin: 0; }
.vendafly-footer li { margin-bottom: .55rem; }
.vendafly-footer a { color: #ddd3f8; text-decoration: none; font-size: .96rem; }
.vendafly-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.vendafly-footer__pay { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.2rem; }
.vendafly-footer__pay span { border: 1px solid rgba(255,255,255,.22); color: #e9e2fd; border-radius: .5rem; padding: .28rem .6rem; font-size: .78rem; font-weight: 700; }
.vendafly-footer__bottom { border-top: 1px solid rgba(255,255,255,.14); margin-top: 2.5rem; padding-top: 1.25rem; }
.vendafly-footer__copy { color: #a99bd6; font-size: .88rem; margin: 0; }
.vendafly-footer__top { margin: 0; }

/* ---------- Compare table ---------- */
.vendafly-compare { margin: 0; max-width: 100%; overflow-x: auto; }
.vendafly-compare table { min-width: 35rem; }
.vendafly-compare table { border-collapse: separate; border-spacing: 0; width: 100%; background: #fff; border: 1px solid #e7def8; border-radius: 1.1rem; overflow: hidden; box-shadow: 0 16px 40px rgba(42,21,69,.09); }
.vendafly-compare th, .vendafly-compare td { padding: 1rem 1.15rem; border-bottom: 1px solid #f0eafb; text-align: left; }
.vendafly-compare tbody tr:last-child td { border-bottom: 0; }
.vendafly-compare tbody tr:hover td { background: #fcfaff; }
.vendafly-compare td:first-child { font-weight: 600; color: #2a1545; }
.vendafly-compare th:nth-child(2), .vendafly-compare th:nth-child(3),
.vendafly-compare td:nth-child(2), .vendafly-compare td:nth-child(3) { text-align: center; width: 18%; }
.vendafly-compare td:nth-child(3) { background: #f7f2ff; font-weight: 700; color: #4c1d95; }
.vendafly-compare td:nth-child(2) { color: #8577a3; }
.vendafly-compare thead th { font-family: Manrope, system-ui, sans-serif; background: #2a1545; color: #fff; border-bottom: 0; padding-block: 1.1rem; }
.vendafly-compare thead th:nth-child(3) { background: #6d28d9; }

/* ---------- Generic ---------- */
.vendafly-shop, .wc-block-components-sidebar-layout { padding-block: 2rem 4rem; }
.wp-block-button__link, .wc-block-components-button { transition: transform .15s ease, box-shadow .15s ease; }
.wp-block-button__link:hover, .wc-block-components-button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(109,40,217,.28); }
ul.products li.product, .wc-block-grid__product { background: #fff; border: 1px solid #eadff7; border-radius: var(--vendafly-radius); padding: 1.1rem; box-shadow: 0 8px 30px rgba(28,15,48,.05); }
ul.products li.product img, .wc-block-grid__product img { border-radius: .75rem; }

/* ---------- Shop / category product grid (Product Collection block) ---------- */
.wp-block-woocommerce-product-template { gap: var(--vendafly-gap); margin: 0; padding: 0; list-style: none; }
.wp-block-woocommerce-product-template > li.product { background: #fff; border: 1px solid #eadff7; border-radius: var(--vendafly-radius); padding: 1.1rem; box-shadow: 0 8px 30px rgba(28,15,48,.05); display: flex; flex-direction: column; }
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-image img { border-radius: .75rem; width: 100%; }
.wp-block-woocommerce-product-template .wp-block-post-title { font-size: 1.05rem; line-height: 1.35; margin-block: .8rem .4rem; }
.wp-block-woocommerce-product-template .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-price { font-weight: 700; margin-bottom: .9rem; }
.wp-block-woocommerce-product-template .wp-block-woocommerce-product-button { margin-top: auto; }
@media (max-width: 900px) { .wp-block-woocommerce-product-template { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 520px) { .wp-block-woocommerce-product-template { grid-template-columns: repeat(1, 1fr) !important; } }
input, select, textarea { border-radius: .6rem; }
:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
