:root{--v254s-bg:#fffaf4;--v254s-card:#fff;--v254s-ink:#0f100f;--v254s-muted:#687366;--v254s-green:#49643a;--v254s-deep:#12130f;--v254s-panel:#10110e;--v254s-orange:#ff6418;--v254s-border:#eee6dc;--v254s-shadow:0 28px 90px rgba(24,22,18,.10)}
.v254s-single,.v254s-single *{box-sizing:border-box}.v254s-single{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;padding:clamp(22px,3.5vw,52px) clamp(10px,3vw,46px);background:radial-gradient(circle at 10% 10%,rgba(255,100,24,.06),transparent 30%),radial-gradient(circle at 90% 16%,rgba(73,100,58,.08),transparent 34%),var(--v254s-bg);color:var(--v254s-ink);overflow:hidden}.v254s-single.inside-woo{clear:both}.v254s-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;line-height:0;flex:0 0 auto}.v254s-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.v254s-product-hero{width:min(1760px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:18px;align-items:stretch}.v254s-media-panel,.v254s-info-panel,.v254s-details,.v254s-tickets{border:1px solid var(--v254s-border);border-radius:34px;box-shadow:var(--v254s-shadow)}.v254s-media-panel{background:rgba(255,255,255,.88);padding:clamp(18px,2.4vw,34px)}.v254s-breadcrumb{font-size:14px;font-weight:800;color:#4f594c;margin:0 0 18px}.v254s-main-media{min-height:640px;border-radius:28px;background:#e9e7e2 center/cover no-repeat;position:relative;overflow:hidden}.v254s-main-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.08));pointer-events:none}.v254s-main-media.no-img{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7f4ee,#fff)}.v254s-noimage-mark{display:inline-flex;align-items:center;gap:8px;padding:14px 18px;border-radius:999px;background:#fff;color:var(--v254s-green);font-weight:950;border:1px solid var(--v254s-border);z-index:2}.v254s-media-badge{position:absolute;top:18px;left:18px;z-index:2;background:#fff;color:#1e2c1b;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.v254s-expand{position:absolute;top:18px;right:18px;z-index:2;width:46px;height:46px;border-radius:999px;background:#fff;color:#0f100f;display:flex;align-items:center;justify-content:center}.v254s-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}.v254s-thumbs span{display:block;min-height:118px;border-radius:20px;background:#f2f0ec center/cover no-repeat;border:2px solid transparent}.v254s-thumbs span.active{border-color:#0f100f;outline:2px dashed #0f100f;outline-offset:6px}.v254s-info-panel{background:var(--v254s-panel);color:#fff;padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:center}.v254s-badge{display:inline-flex;align-items:center;gap:8px;width:max-content;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:10px 14px;margin-bottom:20px;font-weight:950}.v254s-info-panel h1{margin:0;max-width:780px;font-size:clamp(42px,4.9vw,90px);line-height:.92;letter-spacing:-.075em;font-weight:950;color:#fff}.v254s-info-panel p{max-width:760px;margin:20px 0 0;color:rgba(255,255,255,.78);font-size:clamp(16px,1.15vw,20px);line-height:1.58}.v254s-price-line{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:28px 0}.v254s-price-line strong{font-size:clamp(24px,2.1vw,36px);line-height:1;color:#fff}.v254s-price-line span{color:var(--v254s-orange);font-weight:900}.v254s-meta-list{display:grid;grid-template-columns:1fr;gap:10px;margin:0 0 28px}.v254s-meta-list div{display:grid;grid-template-columns:22px minmax(76px,.3fr) 1fr;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding:14px 0}.v254s-meta-list .v254s-icon{color:var(--v254s-orange)}.v254s-meta-list span{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.55);font-weight:950}.v254s-meta-list strong{font-size:17px;color:#fff;line-height:1.3}.v254s-actions{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin-bottom:22px}.v254s-btn{min-height:58px;border-radius:999px;padding:14px 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:950;text-decoration:none!important;transition:.2s ease;white-space:nowrap}.v254s-btn.primary{background:var(--v254s-orange);color:#fff!important;box-shadow:0 18px 36px rgba(255,100,24,.24)}.v254s-btn.ghost{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.18)}.v254s-btn.small{min-height:46px;padding:10px 16px}.v254s-accordion{border-top:1px solid rgba(255,255,255,.18)}.v254s-accordion details{border-bottom:1px solid rgba(255,255,255,.18);padding:14px 0}.v254s-accordion summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:900;color:#fff}.v254s-accordion summary::-webkit-details-marker{display:none}.v254s-accordion p{margin:10px 0 0!important;font-size:14px!important;color:rgba(255,255,255,.66)!important}.v254s-tickets,.v254s-details{width:min(1760px,100%);margin:18px auto 0;padding:clamp(24px,4vw,50px);background:rgba(255,255,255,.92)}.v254s-section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.v254s-section-title span{color:var(--v254s-green);font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.v254s-section-title h2{font-size:clamp(34px,4.4vw,66px);line-height:.95;letter-spacing:-.06em;margin:0;font-weight:950}.v254s-tier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v254s-tier-card{background:#fffaf4;border:1px solid var(--v254s-border);border-radius:26px;padding:24px;display:flex;flex-direction:column;gap:18px;justify-content:space-between}.v254s-tier-card span{display:inline-flex;align-items:center;gap:8px;color:var(--v254s-green);font-weight:950;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.v254s-tier-card h3{font-size:30px;line-height:1;margin:16px 0 8px;letter-spacing:-.05em;font-weight:950}.v254s-tier-card strong{font-size:24px;color:var(--v254s-orange)}.v254s-tier-card ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:var(--v254s-muted);font-weight:800}.v254s-tier-card li{display:flex;gap:8px;align-items:center}.v254s-tier-card li .v254s-icon{color:var(--v254s-green)}.v254s-article{max-width:1100px;color:#344130;font-size:18px;line-height:1.8}.v254s-article p:first-child{margin-top:0}.v254s-article h2,.v254s-article h3{color:var(--v254s-ink);line-height:1.08;letter-spacing:-.04em}.single-product div.product .v254s-single:before,.single-product div.product .v254s-single:after{content:"";display:table;clear:both}.single-product .summary,.single-product .woocommerce-product-gallery{float:none!important;width:100%!important}.single-product div.product{max-width:none!important}.single-product .product_meta,.single-product .woocommerce-tabs,.single-product .related,.single-product .upsells{display:none!important}
@media(max-width:1120px){.v254s-product-hero{grid-template-columns:1fr}.v254s-main-media{min-height:520px}.v254s-info-panel{border-radius:30px}.v254s-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v254s-actions{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.v254s-single{padding-left:6px!important;padding-right:6px!important}.v254s-media-panel,.v254s-info-panel,.v254s-details,.v254s-tickets{border-radius:24px}.v254s-media-panel,.v254s-info-panel,.v254s-details,.v254s-tickets{padding:18px}.v254s-breadcrumb{font-size:13px}.v254s-main-media{min-height:360px;border-radius:20px}.v254s-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.v254s-thumbs span{min-height:86px;border-radius:16px}.v254s-thumbs span.active{outline-offset:3px}.v254s-info-panel h1{font-size:clamp(38px,12vw,58px)}.v254s-info-panel p{font-size:15px}.v254s-meta-list div{grid-template-columns:22px 1fr;gap:4px 10px}.v254s-meta-list span{grid-column:2}.v254s-meta-list strong{grid-column:2}.v254s-actions,.v254s-tier-grid{grid-template-columns:1fr}.v254s-actions .v254s-btn{width:100%}.v254s-section-title{display:block}.v254s-section-title h2{margin-top:8px}.v254s-tier-card h3{font-size:26px}}


/* Phase 3 v0.3: stop WooCommerce from rendering a second default product layout under the Vibes254 layout. */
body.single-product .woocommerce-breadcrumb,
body.single-product div.product > .woocommerce-product-gallery,
body.single-product div.product > .summary,
body.single-product div.product > .product_meta,
body.single-product div.product > .woocommerce-tabs,
body.single-product div.product > .related,
body.single-product div.product > .upsells,
body.single-product div.product > .wc-block-components-product-image-gallery,
body.single-product div.product > .wp-block-woocommerce-product-image-gallery,
body.single-product div.product > .wp-block-post-title,
body.single-product div.product > .wp-block-woocommerce-product-price,
body.single-product div.product > .wp-block-add-to-cart-form{
  display:none!important;
}
body.single-product div.product > .v254s-single{display:block!important;}
.v254s-main-media.no-img{background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.82),transparent 18%),radial-gradient(circle at 70% 70%,rgba(255,100,24,.18),transparent 24%),linear-gradient(135deg,#f6f3ee,#eef2eb)!important;}
.v254s-main-media.no-img:before{content:"";position:absolute;inset:28px;border-radius:24px;border:1px dashed rgba(73,100,58,.22)}
/* v0.4 template override helpers */
.v254s-template-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#fffaf3;}
body.single-product .v254s-template-main + .product,
body.single-product .woocommerce div.product:not(:has(.v254s-single)),
body.single-product .wp-block-woocommerce-product-template,
body.single-product .wp-block-post-content > .woocommerce:not(:has(.v254s-single)){
  display:none!important;
}


/* Phase 3 v0.5: hide the default block-theme header/footer only on Vibes254 product single pages.
   The Vibes254 Site Shell header/footer stay visible, while the basic “Vibes 254 / proudly powered by WordPress” parts are removed. */
body.single-product.v254s-vibes-single .wp-site-blocks > header.wp-block-template-part,
body.single-product.v254s-vibes-single .wp-site-blocks > footer.wp-block-template-part,
body.single-product.v254s-vibes-single header.wp-block-template-part,
body.single-product.v254s-vibes-single footer.wp-block-template-part,
body.single-product.v254s-vibes-single .wp-block-template-part:has(a[href*="wordpress.org"]),
body.single-product.v254s-vibes-single .wp-block-template-part:has(.wp-block-site-title),
body.single-product.v254s-vibes-single .site-header:not([class*="v254"]),
body.single-product.v254s-vibes-single .site-footer:not([class*="v254"]){
  display:none!important;
}

body.single-product.v254s-vibes-single .wp-site-blocks,
body.single-product.v254s-vibes-single main.v254s-template-main{
  margin-top:0!important;
  padding-top:0!important;
}

body.single-product.v254s-vibes-single .v254s-single{
  padding-top:clamp(18px,2.4vw,36px)!important;
}
