/*
Theme Name: Bovis Longinus Child v34
Theme URI: https://ksiegarniabovis.pl
Description: Motyw potomny Blocksy dla książki „Longinus” — spójny styl strony głównej, produktów, koszyka i zamówienia.
Author: Księgarnia Bovis
Template: blocksy
Version: 34.0.0
Text Domain: bovis-longinus
License: GPL-2.0-or-later
*/

:root{
	--bovis-burgundy:#611d24;
	--bovis-burgundy-dark:#3d1217;
	--bovis-gold:#e3c322;
	--bovis-parchment:#f0e6d2;
	--bovis-ivory:#eee6d8;
	--bovis-ink:#2b1d12;
	--bovis-white:#fffdf8;
	--bovis-muted:#736457;
	--bovis-shadow:0 18px 52px rgba(43,29,18,.14);
	--bovis-content:1160px;
	--bovis-serif:"Lora",Georgia,serif;
	--bovis-display:"Cinzel",Georgia,serif;
	--bovis-caps:"Cormorant SC",Georgia,serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.bovis-theme{margin:0;background:var(--bovis-parchment);color:var(--bovis-ink);font-family:var(--bovis-serif)}
body.bovis-front-page{overflow-x:hidden}
body.bovis-front-page img{display:block;max-width:100%;height:auto}
body.bovis-front-page a{text-underline-offset:.18em}
body.bovis-front-page :focus-visible{outline:3px solid var(--bovis-gold);outline-offset:4px;border-radius:4px}
.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.bovis-shell{width:min(calc(100% - 36px),var(--bovis-content));margin-inline:auto}
.bovis-section{position:relative;padding:clamp(58px,6.4vw,92px) 0;scroll-margin-top:74px}
.bovis-section--dark{background:var(--bovis-burgundy-dark);color:var(--bovis-ivory)}
.bovis-section--burgundy{background:var(--bovis-burgundy);color:var(--bovis-ivory)}
.bovis-skip-link{position:fixed;left:18px;top:-80px;z-index:9999;padding:12px 18px;background:#fff;color:#111;box-shadow:var(--bovis-shadow)}
.bovis-skip-link:focus{top:18px}

/* Header */
.bovis-site-header{position:fixed;inset:0 0 auto;z-index:1000;color:var(--bovis-ivory);transition:background .25s ease,box-shadow .25s ease}
.bovis-site-header.is-scrolled{background:rgba(61,18,23,.96);box-shadow:0 8px 28px rgba(20,5,8,.22);backdrop-filter:blur(12px)}
.bovis-nav{position:relative;display:flex;align-items:center;justify-content:flex-start;width:min(calc(100% - 56px),1450px);min-height:82px;gap:28px}
.bovis-brand{font-family:var(--bovis-display);font-size:1.02rem;font-weight:700;letter-spacing:.12em;color:var(--bovis-ivory);text-decoration:none;white-space:nowrap}
.bovis-nav__links{position:absolute;left:50%;display:flex;align-items:center;gap:clamp(22px,2.15vw,38px);margin:0;padding:0;list-style:none;transform:translateX(-50%);font-size:clamp(1rem,.9rem + .18vw,1.14rem)}
.bovis-nav__links a{position:relative;display:inline-flex;align-items:center;min-height:46px;color:var(--bovis-ivory);text-decoration:none;font-family:var(--bovis-caps);font-weight:700;letter-spacing:.055em;white-space:nowrap}
.bovis-nav__links a:not(.bovis-cart-link)::after{content:"";position:absolute;left:50%;right:50%;bottom:-7px;height:1px;background:var(--bovis-gold);transition:left .2s ease,right .2s ease}
.bovis-nav__links a:hover::after,.bovis-nav__links a:focus-visible::after{left:0;right:0}
.bovis-cart-link{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(227,195,34,.72);border-radius:999px;color:var(--bovis-gold)!important}
.bovis-cart-count{display:grid;place-items:center;min-width:22px;height:22px;padding-inline:6px;border-radius:99px;background:var(--bovis-gold);color:var(--bovis-burgundy-dark);font:800 .72rem/1 system-ui,sans-serif}
.bovis-menu-toggle{display:none;width:44px;height:44px;border:1px solid rgba(227,195,34,.65);border-radius:50%;background:rgba(61,18,23,.46);color:var(--bovis-gold);cursor:pointer}
.bovis-menu-toggle span:first-child,.bovis-menu-toggle::before,.bovis-menu-toggle::after{content:"";display:block;width:19px;height:2px;margin:4px auto;background:currentColor;transition:.2s ease}
.bovis-menu-toggle[aria-expanded="true"] span:first-child{opacity:0}.bovis-menu-toggle[aria-expanded="true"]::before{transform:translateY(6px) rotate(45deg)}.bovis-menu-toggle[aria-expanded="true"]::after{transform:translateY(-6px) rotate(-45deg)}

/* Typography and controls */
.bovis-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-family:var(--bovis-caps);font-weight:700;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bovis-burgundy)}
.bovis-section--dark .bovis-eyebrow,.bovis-section--burgundy .bovis-eyebrow{color:var(--bovis-gold)}
.bovis-heading{max-width:820px;margin:0 0 20px;font-family:var(--bovis-display);font-size:clamp(1.9rem,3.6vw,3.65rem);line-height:1.08;letter-spacing:.015em;color:var(--bovis-burgundy)}
.bovis-section--dark .bovis-heading,.bovis-section--burgundy .bovis-heading{color:var(--bovis-ivory)}
.bovis-lead{margin:0 0 22px;font-size:clamp(1.03rem,1rem + .25vw,1.22rem);line-height:1.72}
.bovis-prose{font-size:1rem;line-height:1.78}.bovis-prose p{margin:0 0 1.15em}.bovis-prose p:last-child{margin-bottom:0}
.bovis-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border:1px solid var(--bovis-gold);border-radius:4px 16px 4px 16px;background:var(--bovis-burgundy);color:var(--bovis-gold);font:800 .93rem/1.1 system-ui,sans-serif;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.bovis-button:hover{transform:translateY(-2px);background:var(--bovis-burgundy-dark);box-shadow:0 12px 28px rgba(61,18,23,.2);color:var(--bovis-gold)}
.bovis-button--light{background:var(--bovis-gold);color:var(--bovis-burgundy-dark);border-color:var(--bovis-gold)}.bovis-button--light:hover{background:#f0d54a;color:var(--bovis-burgundy-dark)}
.bovis-button--glow{animation:bovis-glow 3.8s ease-in-out infinite}
@keyframes bovis-glow{0%,78%,100%{box-shadow:0 0 0 rgba(227,195,34,0)}88%{box-shadow:0 0 0 5px rgba(227,195,34,.16),0 0 28px rgba(227,195,34,.28)}}
.bovis-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.bovis-text-link{color:var(--bovis-ivory);font-weight:700}.bovis-text-link:hover{color:var(--bovis-gold)}

/* Icon system: uploaded Roman SVGs are used as CSS masks */
.bovis-icon{display:inline-block;flex:0 0 auto;width:26px;height:26px;background:currentColor;mask:var(--bovis-icon) center/contain no-repeat;-webkit-mask:var(--bovis-icon) center/contain no-repeat}
.bovis-icon--aquila{--bovis-icon:url("assets/icons/02_aquila.svg")}.bovis-icon--corona{--bovis-icon:url("assets/icons/05_corona_triumphalis.svg")}.bovis-icon--legio{--bovis-icon:url("assets/icons/08_legio.svg")}.bovis-icon--gladius{--bovis-icon:url("assets/icons/10_gladius.svg")}.bovis-icon--scutum{--bovis-icon:url("assets/icons/11_scutum.svg")}.bovis-icon--currus{--bovis-icon:url("assets/icons/14_currus.svg")}.bovis-icon--arcus{--bovis-icon:url("assets/icons/15_arcus_triumphalis.svg")}.bovis-icon--columna{--bovis-icon:url("assets/icons/16_columna.svg")}.bovis-icon--denarius{--bovis-icon:url("assets/icons/17_denarius.svg")}

/* Hero */
.bovis-hero{position:relative;display:grid;align-items:end;min-height:min(940px,100svh);overflow:hidden;isolation:isolate;background:var(--bovis-burgundy-dark);color:var(--bovis-ivory)}
.bovis-hero__background,.bovis-hero__foreground,.bovis-hero__veil{position:absolute;inset:0;pointer-events:none}
.bovis-hero__background{z-index:-4;background:url("assets/images/hero-background.webp") center 58%/cover no-repeat;transform:translate3d(0,var(--bovis-bg-y,0),0) scale(1.06);will-change:transform}
.bovis-hero__foreground{z-index:-2;inset:24px auto auto 50%;width:min(76vw,1180px);height:min(126svh,1180px);background:url("assets/images/hero-foreground.webp") center top/78% auto no-repeat;transform:translate3d(-44%,var(--bovis-fg-y,0),0);filter:drop-shadow(-16px 18px 28px rgba(20,5,8,.32));will-change:transform}
.bovis-hero__veil{z-index:-1;background:linear-gradient(90deg,rgba(25,6,9,.88) 0%,rgba(61,18,23,.48) 40%,rgba(61,18,23,.03) 73%),linear-gradient(0deg,rgba(61,18,23,.9),transparent 48%)}
.bovis-hero__layout{display:flex;align-items:flex-end;width:min(calc(100% - 44px),1540px);min-height:inherit;padding-top:112px;padding-bottom:clamp(42px,6vh,66px)}
.bovis-hero-card{width:min(100%,440px);padding:clamp(24px,3vw,34px);border:1px solid rgba(227,195,34,.58);border-radius:6px 28px 6px 28px;background:rgba(37,9,13,.72);box-shadow:0 24px 70px rgba(12,2,4,.34);backdrop-filter:blur(10px)}
.bovis-hero-card .bovis-eyebrow{color:var(--bovis-gold)}
.bovis-hero-card__quote{margin:0 0 22px;font-size:clamp(1.2rem,1rem + .65vw,1.6rem);line-height:1.55;text-wrap:balance}
.bovis-hero-card__price{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 23px;padding-top:18px;border-top:1px solid rgba(227,195,34,.3)}
.bovis-hero-card__price span{font-family:var(--bovis-caps);letter-spacing:.08em;text-transform:uppercase;color:rgba(238,230,216,.78)}.bovis-hero-card__price strong{font-family:var(--bovis-display);font-size:2rem;color:var(--bovis-gold);white-space:nowrap}

/* Purchase first */
.bovis-buy{background:linear-gradient(180deg,#f8f0df,var(--bovis-parchment))}
.bovis-buy__heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}.bovis-buy__heading .bovis-heading{margin-bottom:0}.bovis-buy__note{max-width:430px;margin:0;text-align:right;color:var(--bovis-muted);line-height:1.55}
.bovis-offers{display:grid;grid-template-columns:1.1fr .95fr .95fr;gap:16px;align-items:stretch}
.bovis-offer{position:relative;display:flex;flex-direction:column;min-height:315px;padding:24px;border:1px solid rgba(97,29,36,.18);border-radius:5px 20px 5px 20px;background:rgba(255,253,248,.88);box-shadow:0 10px 34px rgba(43,29,18,.07);transition:transform .2s ease,box-shadow .2s ease}
.bovis-offer:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(43,29,18,.12)}.bovis-offer--book{border:2px solid var(--bovis-gold);background:var(--bovis-white)}
.bovis-offer__badge{align-self:flex-start;margin:-36px 0 14px;padding:7px 10px;border-radius:999px;background:var(--bovis-burgundy);color:var(--bovis-gold);font:800 .68rem/1 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.07em}.bovis-offer__eyebrow{margin:0 0 7px;font-family:var(--bovis-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bovis-burgundy)}
.bovis-offer h3{margin:0 0 12px;font-family:var(--bovis-display);font-size:clamp(1.18rem,2vw,1.5rem);line-height:1.25}.bovis-offer__price{margin-bottom:10px;font-family:var(--bovis-display);font-size:2rem;font-weight:700;color:var(--bovis-burgundy)}.bovis-offer__description{margin:0 0 18px;color:var(--bovis-muted);line-height:1.55}.bovis-offer .bovis-button{width:100%;margin-top:auto}
.bovis-button--disabled{opacity:.56;cursor:not-allowed;background:#766b63;border-color:#766b63;color:#fff}.bovis-button--ghost{background:transparent;color:var(--bovis-burgundy)}.bovis-store-message{padding:22px;border:1px solid var(--bovis-gold);background:var(--bovis-white);text-align:center}
.bovis-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;overflow:hidden;border:1px solid rgba(97,29,36,.14);border-radius:14px;background:rgba(97,29,36,.14)}
.bovis-trust-row>div{display:grid;grid-template-columns:auto 1fr;column-gap:13px;row-gap:3px;padding:18px 20px;background:rgba(255,253,248,.8)}.bovis-trust-row .bovis-icon{grid-row:1/3;width:32px;height:32px;color:var(--bovis-burgundy)}.bovis-trust-row strong{font-family:var(--bovis-display);font-size:.96rem}.bovis-trust-row small{color:var(--bovis-muted);line-height:1.4}

/* Alternating story sections */
.bovis-story,.bovis-recommendation,.bovis-excerpt:not(.bovis-section--dark){background:var(--bovis-parchment)}
.bovis-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr);gap:clamp(34px,6vw,82px);align-items:center}.bovis-split--image-right>.bovis-framed-portrait{order:2}.bovis-split--compact{grid-template-columns:minmax(260px,.62fr) minmax(0,1.25fr)}
.bovis-copy{max-width:730px}.bovis-dedication{display:inline-block;margin-top:20px;padding:12px 16px;border-left:3px solid var(--bovis-gold);background:var(--bovis-burgundy);color:var(--bovis-ivory);font-weight:700}

/* Roman frame supplied by user */
.bovis-framed-portrait{position:relative;width:min(100%,420px);aspect-ratio:660/710;margin:0 auto;isolation:isolate}.bovis-framed-portrait--small{width:min(100%,330px)}.bovis-framed-portrait--tiny{width:min(100%,210px);margin:0}
.bovis-framed-portrait__photo{position:absolute;z-index:-1;left:26.5%;right:25.5%;top:18%;bottom:9.5%;overflow:hidden;border-radius:46% 46% 4% 4% / 24% 24% 4% 4%;background:var(--bovis-burgundy-dark)}
.bovis-framed-portrait__photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%;transform:scale(1.05)}
.bovis-framed-portrait__frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:brightness(0) saturate(100%) invert(82%) sepia(59%) saturate(881%) hue-rotate(4deg) brightness(92%) contrast(87%);pointer-events:none}
.bovis-framed-portrait figcaption{position:absolute;z-index:2;left:50%;bottom:5.5%;transform:translateX(-50%);max-width:62%;padding:5px 11px;background:var(--bovis-burgundy-dark);color:var(--bovis-gold);font-family:var(--bovis-caps);font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:center;white-space:nowrap}

/* Native details keep the page compact */
.bovis-details{margin:20px 0;border-top:1px solid rgba(97,29,36,.2);border-bottom:1px solid rgba(97,29,36,.2)}
.bovis-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 2px;cursor:pointer;font-weight:800;color:var(--bovis-burgundy);list-style:none}.bovis-details summary::-webkit-details-marker{display:none}.bovis-details summary::after{content:"+";font:700 1.4rem/1 system-ui,sans-serif}.bovis-details[open] summary::after{content:"–"}.bovis-details .bovis-prose{padding:4px 0 18px}
.bovis-details--dark{border-color:rgba(227,195,34,.24)}.bovis-details--dark summary{color:var(--bovis-gold)}
.bovis-reading__preview{margin:0 0 18px;font-size:clamp(1.12rem,1rem + .45vw,1.36rem);font-style:italic;line-height:1.72}.bovis-warning{display:inline-block;margin:0 0 16px;padding:7px 10px;border:1px solid rgba(97,29,36,.28);border-radius:999px;color:var(--bovis-burgundy);font:700 .75rem/1.2 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em}

/* Recommendation */
.bovis-quote-card{padding:clamp(26px,4vw,44px);border:1px solid rgba(97,29,36,.13);border-radius:6px 28px 6px 28px;background:var(--bovis-white);box-shadow:var(--bovis-shadow)}.bovis-quote-card blockquote{margin:0;font-family:var(--bovis-caps);font-size:clamp(1.32rem,2.2vw,2rem);line-height:1.45;color:var(--bovis-burgundy)}.bovis-quote-card cite{display:block;margin-top:22px;font-family:var(--bovis-serif);font-size:.95rem;font-style:normal;color:var(--bovis-muted)}.bovis-patron-logo{width:min(230px,55%);margin-top:22px}

/* Final CTA and patrons */
.bovis-final__grid{display:grid;grid-template-columns:220px 1fr;gap:clamp(28px,5vw,64px);align-items:center}.bovis-final .bovis-lead{max-width:720px;color:rgba(238,230,216,.82)}
.bovis-mecenasi{padding:28px 0;background:linear-gradient(rgba(61,18,23,.94),rgba(61,18,23,.96)),url("assets/images/city-wide.webp") center/cover no-repeat;color:var(--bovis-ivory)}
.bovis-patrons-details{border:1px solid rgba(227,195,34,.42);border-radius:12px;background:rgba(20,5,8,.18)}.bovis-patrons-details summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;cursor:pointer;list-style:none}.bovis-patrons-details summary::-webkit-details-marker{display:none}.bovis-patrons-details summary span{font-family:var(--bovis-display);font-size:1.2rem;color:var(--bovis-gold)}.bovis-patrons-details summary small{color:rgba(238,230,216,.7)}.bovis-patrons-details summary::after{content:"+";font:700 1.4rem/1 system-ui,sans-serif;color:var(--bovis-gold)}.bovis-patrons-details[open] summary::after{content:"–"}.bovis-patrons{columns:2;column-gap:52px;margin:0;padding:0 22px 22px;list-style:none}.bovis-patrons li{break-inside:avoid;padding:8px 0;border-bottom:1px solid rgba(227,195,34,.14);line-height:1.45}

/* Footer only contains publisher data once */
.bovis-footer{padding:46px 0 30px;border-top:1px solid var(--bovis-gold);background:var(--bovis-burgundy-dark);color:var(--bovis-ivory)}.bovis-footer__grid{display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;align-items:start}.bovis-footer h2,.bovis-footer h3{margin:0 0 12px;font-family:var(--bovis-display);color:var(--bovis-gold)}.bovis-footer p{margin:0;line-height:1.7}.bovis-footer a{color:var(--bovis-ivory)}.bovis-footer__meta{display:flex;flex-direction:column;gap:12px;color:rgba(238,230,216,.65);font-size:.86rem;text-align:right}
.bovis-mobile-buy{display:none}

/* Reveal */
.bovis-reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease-out,transform .5s ease-out}.bovis-reveal--delay{transition-delay:.12s}.bovis-reveal.is-visible{opacity:1;transform:none}

/* WooCommerce / Blocksy */
body.woocommerce-page:not(.bovis-front-page),body.woocommerce-cart:not(.bovis-front-page),body.woocommerce-checkout:not(.bovis-front-page){background:var(--bovis-parchment)}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.ct-button{border-radius:4px 15px 4px 15px!important}.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{background:var(--bovis-burgundy)!important;color:var(--bovis-gold)!important;border:1px solid var(--bovis-gold)!important}.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--bovis-burgundy-dark)!important}.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce ul.products li.product .price{color:var(--bovis-burgundy)!important}.woocommerce-message,.woocommerce-info{border-top-color:var(--bovis-gold)!important;background:var(--bovis-white)!important}.woocommerce-message::before,.woocommerce-info::before{color:var(--bovis-burgundy)!important}.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review,.woocommerce-cart-form,.cart_totals{padding:clamp(20px,3vw,34px);border:1px solid rgba(97,29,36,.16);border-radius:18px;background:var(--bovis-white);box-shadow:0 12px 34px rgba(43,29,18,.06)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border-color:rgba(97,29,36,.3);border-radius:8px;background:#fff}

@media(max-width:1180px){
	.bovis-nav{width:min(calc(100% - 32px),var(--bovis-content));min-height:74px}
	.bovis-brand{font-size:.9rem}
	.bovis-nav__links{position:static;left:auto;margin-left:auto;gap:clamp(12px,1.5vw,20px);transform:none;font-size:.93rem}
	.bovis-nav__links a{min-height:42px}
}
@media(max-width:980px){
	.bovis-hero__foreground{inset:22px auto auto 50%;width:112vw;height:112svh;background-position:center top;background-size:82% auto;transform:translate3d(-43%,var(--bovis-fg-y,0),0);opacity:.82}.bovis-offers{grid-template-columns:1fr 1fr}.bovis-offer--ebook{grid-column:1/-1;min-height:245px}.bovis-trust-row{grid-template-columns:1fr}.bovis-split{gap:38px}.bovis-footer__grid{grid-template-columns:1fr 1fr}.bovis-footer__meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;text-align:left}
}
@media(max-width:800px){
	.bovis-menu-toggle{display:block}.bovis-nav__links{position:fixed;inset:68px 14px auto;display:none;flex-direction:column;align-items:stretch;gap:0;padding:16px;border:1px solid rgba(227,195,34,.42);border-radius:16px;background:rgba(61,18,23,.98);box-shadow:var(--bovis-shadow)}.bovis-nav__links.is-open{display:flex}.bovis-nav__links li,.bovis-nav__links a{width:100%}.bovis-nav__links a{display:block;padding:12px 10px}.bovis-cart-link{display:flex;justify-content:space-between}
	.bovis-hero{min-height:800px}.bovis-hero__foreground{inset:18px auto auto 50%;width:138vw;height:92%;background-position:center top;background-size:auto 100%;transform:translate3d(-43%,var(--bovis-fg-y,0),0);opacity:.58}.bovis-hero__veil{background:linear-gradient(90deg,rgba(25,6,9,.92),rgba(61,18,23,.36)),linear-gradient(0deg,rgba(61,18,23,.96),transparent 58%)}.bovis-hero-card{width:min(100%,500px)}
	.bovis-buy__heading{display:block}.bovis-buy__note{margin-top:10px;text-align:left}.bovis-split,.bovis-split--compact,.bovis-final__grid{grid-template-columns:1fr}.bovis-split--image-right>.bovis-framed-portrait{order:0}.bovis-framed-portrait{width:min(100%,360px)}.bovis-framed-portrait--small{width:min(100%,300px)}.bovis-framed-portrait--tiny{width:180px;margin-inline:auto}.bovis-final__grid{text-align:center}.bovis-final__grid .bovis-eyebrow,.bovis-final__grid .bovis-heading{justify-content:center;margin-inline:auto}
}
@media(max-width:620px){
	.bovis-shell{width:min(calc(100% - 24px),var(--bovis-content))}.bovis-section{padding:52px 0}.bovis-brand{font-size:.88rem}.bovis-hero{min-height:760px}.bovis-hero__layout{padding-top:92px;padding-bottom:26px}.bovis-hero-card{padding:22px;background:rgba(37,9,13,.79)}.bovis-hero-card__quote{font-size:1.1rem}.bovis-hero-card__price strong{font-size:1.75rem}.bovis-actions{align-items:stretch;flex-direction:column}.bovis-actions .bovis-button{width:100%}.bovis-text-link{text-align:center}
	.bovis-offers{grid-template-columns:1fr;gap:32px}.bovis-offer--ebook{grid-column:auto}.bovis-offer{min-height:280px}.bovis-trust-row>div{padding:16px}.bovis-patrons{columns:1}.bovis-patrons-details summary{align-items:flex-start;flex-wrap:wrap}.bovis-patrons-details summary small{width:calc(100% - 34px)}.bovis-footer__grid{grid-template-columns:1fr}.bovis-footer__meta{grid-column:auto;display:block;text-align:left}.bovis-footer__meta span{display:block;margin-top:8px}
	.bovis-mobile-buy{position:fixed;z-index:900;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--bovis-gold);border-radius:12px;background:rgba(61,18,23,.97);box-shadow:0 12px 36px rgba(20,5,8,.3);color:var(--bovis-ivory);text-decoration:none;backdrop-filter:blur(8px)}.bovis-mobile-buy strong{color:var(--bovis-gold)}body.bovis-front-page{padding-bottom:72px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.bovis-reveal{opacity:1;transform:none}.bovis-hero__background,.bovis-hero__foreground{transform:none!important}}


/* =========================================================
   V4 — composite hero artwork and antique-gold navigation
   ========================================================= */
.bovis-site-header,
.bovis-site-header.is-scrolled{
	background:linear-gradient(180deg,#f1dc5a 0%,#e3c322 58%,#cfa916 100%);
	color:var(--bovis-burgundy-dark);
	border-bottom:1px solid rgba(61,18,23,.45);
	box-shadow:0 7px 24px rgba(43,29,18,.22);
	backdrop-filter:none;
}
.bovis-brand,
.bovis-nav__links a{color:var(--bovis-burgundy-dark)}
.bovis-brand{text-shadow:0 1px 0 rgba(255,255,255,.32)}
.bovis-nav__links a:not(.bovis-cart-link)::after{height:2px;background:var(--bovis-burgundy)}
.bovis-cart-link{border-color:rgba(61,18,23,.62);color:var(--bovis-burgundy-dark)!important;background:rgba(255,255,255,.18)}
.bovis-cart-count{background:var(--bovis-burgundy-dark);color:var(--bovis-gold)}
.bovis-menu-toggle{border-color:rgba(61,18,23,.55);background:rgba(255,255,255,.2);color:var(--bovis-burgundy-dark)}

.bovis-hero{
	min-height:min(900px,100svh);
	padding-top:82px;
	background:#342025;
}
.bovis-hero__background{
	z-index:-4;
	background-image:url("assets/images/hero-composite.webp");
	background-position:center top;
	background-size:cover;
	background-repeat:no-repeat;
	transform:translate3d(0,var(--bovis-bg-y,0),0) scale(1.015);
	transform-origin:center top;
}
.bovis-hero__foreground{display:none!important}
.bovis-hero__veil{
	background:
		linear-gradient(180deg,rgba(20,5,8,.02) 0%,rgba(20,5,8,.02) 56%,rgba(20,5,8,.38) 100%),
		linear-gradient(90deg,rgba(20,5,8,.08) 0%,transparent 34%,transparent 76%,rgba(20,5,8,.12) 100%);
}
.bovis-hero__layout{
	display:grid;
	grid-template-columns:44% minmax(380px,1fr);
	align-items:end;
	width:min(calc(100% - 44px),1540px);
	min-height:inherit;
	padding-top:150px;
	padding-bottom:clamp(44px,6vh,70px);
}
.bovis-hero-card{
	grid-column:2;
	justify-self:start;
	width:min(100%,420px);
	margin-left:clamp(0px,2vw,34px);
	padding:clamp(22px,2.5vw,32px);
	background:rgba(48,12,17,.89);
	border-color:rgba(227,195,34,.88);
	box-shadow:0 24px 68px rgba(12,2,4,.42);
	backdrop-filter:blur(9px) saturate(115%);
}

@media(max-width:1180px){
	.bovis-nav{width:min(calc(100% - 28px),var(--bovis-content))}
	.bovis-hero__layout{grid-template-columns:42% minmax(350px,1fr)}
	.bovis-hero-card{width:min(100%,400px);margin-left:0}
}
@media(max-width:980px){
	.bovis-hero{min-height:850px}
	.bovis-hero__background{background-size:auto 100%;background-position:43% top;transform:translate3d(0,var(--bovis-bg-y,0),0) scale(1.01)}
	.bovis-hero__veil{background:linear-gradient(0deg,rgba(38,8,12,.78) 0%,rgba(38,8,12,.12) 48%,rgba(38,8,12,.03) 100%)}
	.bovis-hero__layout{display:flex;align-items:flex-end;justify-content:center;padding-top:150px;padding-bottom:34px}
	.bovis-hero-card{width:min(100%,510px);margin-left:0}
}
@media(max-width:800px){
	.bovis-nav__links{background:linear-gradient(180deg,#f1dc5a,#d7b316);border-color:rgba(61,18,23,.42)}
	.bovis-nav__links a{color:var(--bovis-burgundy-dark)}
	.bovis-cart-link{color:var(--bovis-burgundy-dark)!important}
	.bovis-hero{min-height:820px}
	.bovis-hero__background{background-position:38% top}
}
@media(max-width:620px){
	.bovis-hero{min-height:780px;padding-top:74px}
	.bovis-hero__background{background-position:34% top;background-size:auto 100%}
	.bovis-hero__layout{padding-top:250px;padding-bottom:20px}
	.bovis-hero-card{padding:20px;background:rgba(43,10,14,.91)}
}


/* =========================================================
   V5 — new hero artwork and restrained antique-bronze menu
   ========================================================= */
.bovis-site-header,
.bovis-site-header.is-scrolled{
	background:
		linear-gradient(180deg,rgba(255,255,255,.075) 0%,rgba(255,255,255,0) 34%),
		repeating-linear-gradient(90deg,rgba(227,195,34,.025) 0 1px,transparent 1px 13px),
		linear-gradient(180deg,#70502d 0%,#50321d 55%,#342014 100%);
	color:var(--bovis-ivory);
	border-top:1px solid rgba(227,195,34,.38);
	border-bottom:1px solid rgba(227,195,34,.58);
	box-shadow:0 8px 28px rgba(25,10,5,.34),inset 0 -1px 0 rgba(20,7,3,.5);
	backdrop-filter:none;
}
.bovis-nav{
	min-height:90px;
	width:min(calc(100% - 56px),1500px);
}
.bovis-brand,
.bovis-brand:visited{
	color:#f1d66d!important;
	font-size:1.08rem;
	line-height:1;
	text-shadow:0 1px 1px rgba(20,7,3,.75);
}
.bovis-nav__links{
	gap:clamp(24px,2.25vw,42px);
	font-size:clamp(1.12rem,1.02rem + .26vw,1.32rem);
}
.bovis-site-header .bovis-nav__links a,
.bovis-site-header .bovis-nav__links a:visited{
	color:var(--bovis-ivory)!important;
	background:transparent!important;
	text-decoration:none!important;
	line-height:1;
	-webkit-tap-highlight-color:rgba(227,195,34,.16);
}
.bovis-site-header .bovis-nav__links a:hover,
.bovis-site-header .bovis-nav__links a:focus,
.bovis-site-header .bovis-nav__links a:focus-visible,
.bovis-site-header .bovis-nav__links a:active{
	color:#f1d66d!important;
	background:transparent!important;
	text-decoration:none!important;
}
.bovis-nav__links a:not(.bovis-cart-link)::after{
	height:2px;
	bottom:-9px;
	background:#e3c322;
	box-shadow:0 1px 6px rgba(227,195,34,.28);
}
.bovis-cart-link,
.bovis-cart-link:visited{
	border-color:rgba(227,195,34,.72)!important;
	color:var(--bovis-ivory)!important;
	background:rgba(61,29,18,.38)!important;
}
.bovis-cart-link:hover,
.bovis-cart-link:focus-visible{
	border-color:#f1d66d!important;
	color:#f1d66d!important;
	background:rgba(61,18,23,.58)!important;
}
.bovis-cart-count{
	background:#e3c322;
	color:#3d1217;
}
.bovis-menu-toggle{
	border-color:rgba(227,195,34,.7);
	background:rgba(61,18,23,.42);
	color:#f1d66d;
}
.bovis-site-header :focus-visible{
	outline-color:#e3c322!important;
}

.bovis-hero__background{
	background-image:url("assets/images/hero-composite.webp");
	background-position:center top;
	background-size:cover;
	background-repeat:no-repeat;
}
.bovis-hero__veil{
	background:
		linear-gradient(180deg,rgba(20,5,8,.02) 0%,rgba(20,5,8,.015) 52%,rgba(20,5,8,.34) 100%),
		linear-gradient(90deg,rgba(20,5,8,.05) 0%,transparent 38%,transparent 77%,rgba(20,5,8,.09) 100%);
}

@media(max-width:1180px){
	.bovis-nav{min-height:82px;width:min(calc(100% - 30px),var(--bovis-content))}
	.bovis-brand{font-size:.96rem}
	.bovis-nav__links{font-size:1.02rem;gap:clamp(13px,1.7vw,23px)}
}
@media(max-width:800px){
	.bovis-nav__links{
		background:
			linear-gradient(180deg,rgba(255,255,255,.06),transparent 32%),
			linear-gradient(180deg,#684728,#432816);
		border-color:rgba(227,195,34,.5);
	}
	.bovis-site-header .bovis-nav__links a,
	.bovis-site-header .bovis-nav__links a:visited{color:var(--bovis-ivory)!important}
	.bovis-site-header .bovis-nav__links a:hover,
	.bovis-site-header .bovis-nav__links a:focus-visible{color:#f1d66d!important}
}
@media(max-width:620px){
	.bovis-nav{min-height:74px}
	.bovis-brand{font-size:.9rem}
}

/* =========================================================
   V6 — supplied marble menu texture and fasces portrait frame
   ========================================================= */
.bovis-site-header,
.bovis-site-header.is-scrolled{
	background-image:
		linear-gradient(180deg,rgba(52,32,20,.56),rgba(52,32,20,.72)),
		url("assets/images/menu-marble.webp");
	background-size:cover;
	background-position:center 52%;
	background-repeat:no-repeat;
}

.bovis-framed-portrait{
	aspect-ratio:900/1494;
	width:min(100%,370px);
}
.bovis-framed-portrait--small{width:min(100%,300px)}
.bovis-framed-portrait--tiny{width:min(100%,180px)}
.bovis-framed-portrait__photo{
	left:14.5%;
	right:14.5%;
	top:10.6%;
	bottom:9.1%;
	border-radius:0;
}
.bovis-framed-portrait__photo img{
	transform:scale(1.035);
}
.bovis-framed-portrait__frame{
	filter:none;
}
.bovis-framed-portrait figcaption{
	bottom:8.4%;
	max-width:66%;
}

@media(max-width:800px){
	.bovis-nav__links{
		background-image:
			linear-gradient(180deg,rgba(52,32,20,.66),rgba(52,32,20,.82)),
			url("assets/images/menu-marble.webp");
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
	}
	.bovis-framed-portrait{width:min(100%,330px)}
	.bovis-framed-portrait--small{width:min(100%,275px)}
	.bovis-framed-portrait--tiny{width:165px}
}


/* =========================================================
   V7 — unified framed portraits, updated marble menu and patron logo
   ========================================================= */
.bovis-site-header,
.bovis-site-header.is-scrolled{
	min-height:88px;
	background-image:
		linear-gradient(180deg,rgba(240,230,210,.12),rgba(240,230,210,.05)),
		url("assets/images/menu-marble.webp");
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	border-top:1px solid rgba(97,29,36,.18);
	border-bottom:1px solid rgba(97,29,36,.38);
	box-shadow:0 7px 24px rgba(43,29,18,.18);
	color:var(--bovis-burgundy-dark);
}
.bovis-nav{
	min-height:88px;
	align-items:center;
}
.bovis-brand,
.bovis-brand:visited,
.bovis-site-header .bovis-nav__links a,
.bovis-site-header .bovis-nav__links a:visited{
	color:var(--bovis-burgundy-dark)!important;
	text-shadow:0 1px 0 rgba(255,255,255,.28);
}
.bovis-site-header .bovis-nav__links a:hover,
.bovis-site-header .bovis-nav__links a:focus,
.bovis-site-header .bovis-nav__links a:focus-visible,
.bovis-site-header .bovis-nav__links a:active{
	color:var(--bovis-burgundy)!important;
}
.bovis-cart-link,
.bovis-cart-link:visited{
	border-color:rgba(97,29,36,.58)!important;
	background:rgba(240,230,210,.32)!important;
	color:var(--bovis-burgundy-dark)!important;
}
.bovis-cart-link:hover,
.bovis-cart-link:focus-visible{
	border-color:var(--bovis-burgundy)!important;
	background:rgba(227,195,34,.18)!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-cart-count{
	background:var(--bovis-burgundy-dark);
	color:var(--bovis-gold);
}
.bovis-menu-toggle{
	border-color:rgba(97,29,36,.55);
	background:rgba(240,230,210,.44);
	color:var(--bovis-burgundy-dark);
}
@media(min-width:1181px){
	.bovis-nav__links{
		top:50%;
		transform:translate(-50%,-50%);
	}
}

/* One consistent portrait size. The photograph extends beneath the frame,
   so its cut edges remain hidden by the fasces ornament. */
.bovis-framed-portrait,
.bovis-framed-portrait--small,
.bovis-framed-portrait--tiny{
	width:min(100%,340px);
	aspect-ratio:900/1494;
	margin:0 auto 58px;
	overflow:visible;
	isolation:isolate;
}
.bovis-framed-portrait__photo{
	z-index:1;
	left:10.8%;
	right:10.8%;
	top:7.7%;
	bottom:6.9%;
	border-radius:0;
	background:var(--bovis-burgundy-dark);
	overflow:hidden;
}
.bovis-framed-portrait__photo img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 24%;
	transform:scale(1.025);
}
.bovis-framed-portrait__frame{
	z-index:2;
	inset:0;
	width:100%;
	height:100%;
	object-fit:contain;
	pointer-events:none;
}
.bovis-framed-portrait figcaption{
	z-index:3;
	left:0;
	top:calc(100% + 12px);
	bottom:auto;
	width:100%;
	max-width:none;
	transform:none;
	padding:0 8px;
	background:transparent;
	color:var(--bovis-burgundy);
	font-family:var(--bovis-caps);
	font-size:1.04rem;
	font-weight:700;
	line-height:1.25;
	letter-spacing:.09em;
	text-align:center;
	text-transform:uppercase;
	white-space:normal;
}
.bovis-section--dark .bovis-framed-portrait figcaption,
.bovis-section--burgundy .bovis-framed-portrait figcaption{
	color:var(--bovis-gold);
}
.bovis-final__grid{
	grid-template-columns:340px minmax(0,1fr);
}
.bovis-patron-logo{
	width:min(520px,100%);
	height:auto;
	margin-top:24px;
}

@media(max-width:1180px){
	.bovis-nav{min-height:82px}
}
@media(max-width:800px){
	.bovis-site-header,
	.bovis-site-header.is-scrolled{
		min-height:74px;
	}
	.bovis-nav{min-height:74px}
	.bovis-nav__links{
		background-image:
			linear-gradient(180deg,rgba(240,230,210,.1),rgba(240,230,210,.04)),
			url("assets/images/menu-marble.webp");
		background-size:cover;
		background-position:center;
		background-repeat:no-repeat;
		border-color:rgba(97,29,36,.38);
	}
	.bovis-site-header .bovis-nav__links a,
	.bovis-site-header .bovis-nav__links a:visited{
		color:var(--bovis-burgundy-dark)!important;
	}
	.bovis-site-header .bovis-nav__links a:hover,
	.bovis-site-header .bovis-nav__links a:focus-visible{
		color:var(--bovis-burgundy)!important;
	}
	.bovis-framed-portrait,
	.bovis-framed-portrait--small,
	.bovis-framed-portrait--tiny{
		width:min(100%,330px);
	}
	.bovis-final__grid{grid-template-columns:1fr}
}
@media(max-width:420px){
	.bovis-framed-portrait,
	.bovis-framed-portrait--small,
	.bovis-framed-portrait--tiny{
		width:min(100%,300px);
	}
}

/* =========================================================
   V8 — cinematic character illustrations as section backgrounds
   ========================================================= */
.bovis-character-section{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	min-height:clamp(540px,48vw,690px);
}
.bovis-character-section::before,
.bovis-character-section::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
}
.bovis-character-section::before{
	z-index:-2;
	width:min(62vw,980px);
	background-image:var(--bovis-character-image);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:var(--bovis-character-position,center 26%);
	filter:saturate(.82) contrast(1.04);
	transform:translateX(var(--bovis-character-shift-x,0)) scale(1.015);
}
.bovis-character-section--image-right::before{
	left:auto;
	right:0;
	-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 15%,#000 39%,#000 100%);
	mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.22) 15%,#000 39%,#000 100%);
}
.bovis-character-section--image-left::before{
	right:auto;
	left:0;
	-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 61%,rgba(0,0,0,.22) 85%,transparent 100%);
	mask-image:linear-gradient(90deg,#000 0%,#000 61%,rgba(0,0,0,.22) 85%,transparent 100%);
}
.bovis-character-section::after{z-index:-1}
.bovis-character-section--light{background:var(--bovis-parchment);color:var(--bovis-ink)}
.bovis-character-section--light.bovis-character-section--image-right::after{
	background:linear-gradient(90deg,var(--bovis-parchment) 0%,var(--bovis-parchment) 43%,rgba(240,230,210,.96) 55%,rgba(240,230,210,.62) 73%,rgba(240,230,210,.18) 100%);
}
.bovis-character-section--light.bovis-character-section--image-left::after{
	background:linear-gradient(90deg,rgba(240,230,210,.18) 0%,rgba(240,230,210,.62) 27%,rgba(240,230,210,.96) 45%,var(--bovis-parchment) 57%,var(--bovis-parchment) 100%);
}
.bovis-character-section--dark{background:var(--bovis-burgundy-dark);color:var(--bovis-ivory)}
.bovis-character-section--dark.bovis-character-section--image-left::after{
	background:linear-gradient(90deg,rgba(35,7,11,.18) 0%,rgba(61,18,23,.58) 34%,rgba(61,18,23,.94) 56%,var(--bovis-burgundy-dark) 69%,var(--bovis-burgundy-dark) 100%);
}
.bovis-character-section--dark.bovis-character-section--image-right::after{
	background:linear-gradient(90deg,var(--bovis-burgundy-dark) 0%,var(--bovis-burgundy-dark) 31%,rgba(61,18,23,.94) 44%,rgba(61,18,23,.58) 66%,rgba(35,7,11,.18) 100%);
}
.bovis-character-section--burgundy{background:var(--bovis-burgundy);color:var(--bovis-ivory)}
.bovis-character-section--burgundy.bovis-character-section--image-left::after{
	background:linear-gradient(90deg,rgba(43,8,13,.16) 0%,rgba(97,29,36,.66) 35%,rgba(97,29,36,.96) 57%,var(--bovis-burgundy) 72%,var(--bovis-burgundy) 100%);
}
.bovis-character-layout{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	align-items:center;
	min-height:inherit;
	gap:clamp(36px,6vw,92px);
}
.bovis-character-layout--text-left>div{
	grid-column:1;
	max-width:680px;
}
.bovis-character-layout--text-right>div{
	grid-column:2;
	max-width:680px;
	justify-self:end;
}
.bovis-character-section .bovis-quote-card{
	background:rgba(255,253,248,.91);
	backdrop-filter:blur(7px);
}
.bovis-character-name{
	position:absolute;
	z-index:2;
	bottom:26px;
	padding:7px 13px;
	border:1px solid rgba(227,195,34,.48);
	border-radius:999px;
	background:rgba(61,18,23,.74);
	color:var(--bovis-gold);
	font-family:var(--bovis-caps);
	font-size:.9rem;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	box-shadow:0 8px 24px rgba(20,5,8,.2);
	backdrop-filter:blur(5px);
}
.bovis-character-name--right{right:clamp(24px,7vw,130px)}
.bovis-character-name--left{left:clamp(24px,7vw,130px)}
.bovis-final.bovis-character-section .bovis-lead{max-width:720px;color:rgba(238,230,216,.86)}

@media(max-width:980px){
	.bovis-character-section{min-height:600px}
	.bovis-character-section::before{width:64vw;background-size:cover}
	.bovis-character-layout{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:30px}
	.bovis-character-layout--text-right>div{grid-column:2}
}
@media(max-width:800px){
	.bovis-character-section{
		min-height:auto;
		padding-top:0;
	}
	.bovis-character-section::before{
		inset:0 0 auto;
		width:100%;
		height:clamp(300px,76vw,470px);
		background-size:cover;
		background-position:var(--bovis-character-position-mobile,var(--bovis-character-position,center 24%));
		transform:translateX(var(--bovis-character-shift-x-mobile,0)) scale(1.015);
		-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.55) 79%,transparent 100%);
		mask-image:linear-gradient(180deg,#000 0%,#000 64%,rgba(0,0,0,.55) 79%,transparent 100%);
		opacity:.8;
	}
	.bovis-character-section--light::after{
		background:linear-gradient(180deg,rgba(240,230,210,.08) 0%,rgba(240,230,210,.16) 34%,var(--bovis-parchment) 60%,var(--bovis-parchment) 100%)!important;
	}
	.bovis-character-section--dark::after{
		background:linear-gradient(180deg,rgba(61,18,23,.12) 0%,rgba(61,18,23,.34) 34%,var(--bovis-burgundy-dark) 61%,var(--bovis-burgundy-dark) 100%)!important;
	}
	.bovis-character-section--burgundy::after{
		background:linear-gradient(180deg,rgba(97,29,36,.12) 0%,rgba(97,29,36,.36) 34%,var(--bovis-burgundy) 61%,var(--bovis-burgundy) 100%)!important;
	}
	.bovis-character-layout{
		display:block;
		min-height:0;
		padding-top:clamp(285px,72vw,440px);
	}
	.bovis-character-layout--text-left>div,
	.bovis-character-layout--text-right>div{
		max-width:none;
	}
	.bovis-character-name{
		top:clamp(245px,61vw,390px);
		bottom:auto;
		left:50%;
		right:auto;
		transform:translateX(-50%);
	}
	.bovis-character-section .bovis-quote-card{background:rgba(255,253,248,.96)}
}
@media(max-width:520px){
	.bovis-character-section::before{height:330px;background-size:cover}
	.bovis-character-layout{padding-top:300px}
	.bovis-character-name{top:252px;font-size:.78rem}
}

/* =========================================================
   V9 — corrected character crops and clearer author portrait
   ========================================================= */
/* Character names are intentionally omitted in this visual treatment. */
.bovis-character-name{display:none!important}

/* Blocksy can add an accent rule to blockquotes. Keep it in the Bovis palette. */
.bovis-quote-card blockquote{
	border-inline-start:4px solid var(--bovis-gold)!important;
	border-left-color:var(--bovis-gold)!important;
	padding-inline-start:clamp(18px,2.2vw,30px)!important;
}

/* Author portrait: no ornamental frame; the photograph is a clear cinematic
   half-section background, with text kept on the opposite side. */
.bovis-author-stage{
	position:relative;
	overflow:hidden;
	isolation:isolate;
	min-height:clamp(610px,50vw,760px);
	background:var(--bovis-burgundy-dark);
	color:var(--bovis-ivory);
}
.bovis-author-stage::before,
.bovis-author-stage::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
}
.bovis-author-stage::before{
	z-index:-2;
	right:auto;
	width:min(55vw,940px);
	background-image:var(--bovis-author-image);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center 24%;
	filter:saturate(.92) contrast(1.04) brightness(.98);
}
.bovis-author-stage::after{
	z-index:-1;
	background:
		linear-gradient(90deg,rgba(35,7,11,.02) 0%,rgba(35,7,11,.08) 32%,rgba(61,18,23,.64) 51%,rgba(61,18,23,.95) 65%,var(--bovis-burgundy-dark) 76%),
		linear-gradient(0deg,rgba(35,7,11,.18),transparent 32%);
}
.bovis-author-stage__layout{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(320px,.92fr);
	align-items:center;
	min-height:inherit;
	gap:clamp(36px,6vw,86px);
}
.bovis-author-stage__layout .bovis-copy{
	grid-column:2;
	justify-self:end;
	max-width:650px;
	padding:clamp(24px,3.5vw,44px);
	border-inline-start:2px solid rgba(227,195,34,.82);
	border-radius:0 18px 18px 0;
	background:rgba(42,9,14,.52);
	box-shadow:0 20px 54px rgba(20,5,8,.18);
	backdrop-filter:blur(3px);
}

@media(max-width:980px){
	.bovis-author-stage::before{width:58vw;background-position:center 20%}
	.bovis-author-stage__layout{grid-template-columns:minmax(0,.88fr) minmax(320px,1.12fr);gap:28px}
}
@media(max-width:800px){
	.bovis-author-stage{min-height:auto;padding-top:0}
	.bovis-author-stage::before{
		inset:0 0 auto;
		width:100%;
		height:clamp(390px,88vw,560px);
		background-size:cover;
		background-position:center 18%;
		-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.55) 86%,transparent 100%);
		mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.55) 86%,transparent 100%);
	}
	.bovis-author-stage::after{
		background:linear-gradient(180deg,rgba(61,18,23,.02) 0%,rgba(61,18,23,.16) 48%,var(--bovis-burgundy-dark) 70%,var(--bovis-burgundy-dark) 100%);
	}
	.bovis-author-stage__layout{
		display:block;
		min-height:0;
		padding-top:clamp(350px,82vw,515px);
	}
	.bovis-author-stage__layout .bovis-copy{
		max-width:none;
		padding:24px 0 0;
		border:0;
		border-radius:0;
		background:transparent;
		box-shadow:none;
		backdrop-filter:none;
	}
}
@media(max-width:520px){
	.bovis-author-stage::before{height:390px;background-position:center 14%}
	.bovis-author-stage__layout{padding-top:350px}
}



/* =========================================================
   V10 — subtle rightward character positioning
   ========================================================= */
/* Selected character backgrounds can be nudged horizontally through
   section-level CSS variables without changing their crop or gradient. */


/* =========================================================
   V11 — softer author-photo transition and right-shifted copy
   ========================================================= */
@media (min-width:981px){
	/* Extend the photograph beneath the transition so its right edge never
	   appears as a hard vertical cut. The mask and overlay fade independently,
	   producing a much longer, softer blend into the burgundy section. */
	.bovis-author-stage::before{
		width:min(66vw,1220px);
		background-position:center 22%;
		-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.94) 67%,rgba(0,0,0,.72) 78%,rgba(0,0,0,.30) 91%,transparent 100%);
		mask-image:linear-gradient(90deg,#000 0%,#000 58%,rgba(0,0,0,.94) 67%,rgba(0,0,0,.72) 78%,rgba(0,0,0,.30) 91%,transparent 100%);
	}
	.bovis-author-stage::after{
		background:
			linear-gradient(90deg,rgba(35,7,11,0) 0%,rgba(35,7,11,.015) 34%,rgba(61,18,23,.08) 47%,rgba(61,18,23,.24) 58%,rgba(61,18,23,.48) 69%,rgba(61,18,23,.76) 81%,rgba(61,18,23,.94) 91%,var(--bovis-burgundy-dark) 100%),
			linear-gradient(0deg,rgba(35,7,11,.18),transparent 34%);
	}
	/* Give this section a slightly wider internal canvas and reserve more room
	   on the left. This moves the copy to the right without narrowing it. */
	.bovis-author-stage__layout{
		width:min(calc(100% - 36px),1320px);
		grid-template-columns:minmax(0,1.18fr) minmax(470px,.82fr);
		gap:clamp(54px,6vw,96px);
	}
	.bovis-author-stage__layout .bovis-copy{
		max-width:620px;
		transform:translateX(clamp(10px,1.5vw,28px));
		background:rgba(42,9,14,.58);
		backdrop-filter:blur(2px);
	}
}

@media (min-width:981px) and (max-width:1180px){
	.bovis-author-stage__layout{
		width:min(calc(100% - 36px),1160px);
		grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);
		gap:38px;
	}
	.bovis-author-stage__layout .bovis-copy{transform:none}
}


/* =========================================================
   V12 — smaller, naturally scaled author portrait
   ========================================================= */
@media (min-width:981px){
	/* The portrait is no longer enlarged to cover a wide horizontal canvas.
	   Its height is capped, preserving the original proportions and showing
	   more of the uniform instead of an oversized close-up. */
	.bovis-author-stage::before{
		width:min(63vw,1120px);
		background-size:auto clamp(600px,46vw,760px);
		background-position:left center;
	}
}

@media (min-width:981px) and (max-width:1180px){
	.bovis-author-stage::before{
		background-size:auto clamp(560px,54vw,690px);
		background-position:left center;
	}
}

/* =========================================================
   V13 — unified button typography and softly centered author portrait
   ========================================================= */
/* CTA and WooCommerce controls now use the same classical type family as
   the rest of the interface instead of a modern system sans-serif. */
.bovis-button,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.ct-button{
	font-family:var(--bovis-caps)!important;
	font-weight:700!important;
	font-size:1.02rem;
	line-height:1.1;
	letter-spacing:.045em;
}

@media (min-width:981px){
	/* Centre the portrait inside the left half of the section and keep its
	   natural proportions. A soft elliptical mask blends all four edges into
	   the burgundy background so the image no longer reads as a hard rectangle. */
	.bovis-author-stage::before{
		top:clamp(30px,3vw,52px);
		bottom:clamp(30px,3vw,52px);
		left:max(30px,calc((50vw - min(34vw,600px))/2));
		right:auto;
		width:min(34vw,600px);
		height:auto;
		background-size:contain;
		background-position:center;
		border-radius:34px;
		-webkit-mask-image:radial-gradient(ellipse 88% 96% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.56) 92%,transparent 100%);
		mask-image:radial-gradient(ellipse 88% 96% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.56) 92%,transparent 100%);
		box-shadow:inset 0 0 36px rgba(61,18,23,.22),0 22px 54px rgba(20,5,8,.2);
	}
	/* The existing horizontal transition stays gentle, but begins slightly
	   later because the portrait is now inset from the viewport edge. */
	.bovis-author-stage::after{
		background:
			linear-gradient(90deg,rgba(35,7,11,0) 0%,rgba(35,7,11,0) 36%,rgba(61,18,23,.045) 46%,rgba(61,18,23,.18) 57%,rgba(61,18,23,.46) 69%,rgba(61,18,23,.76) 82%,rgba(61,18,23,.94) 92%,var(--bovis-burgundy-dark) 100%),
			linear-gradient(0deg,rgba(35,7,11,.15),transparent 36%);
	}
}

@media (min-width:981px) and (max-width:1180px){
	.bovis-author-stage::before{
		left:max(24px,calc((48vw - min(38vw,520px))/2));
		width:min(38vw,520px);
	}
}



/* =========================================================
   V14 — dedicated mobile hero artwork
   ========================================================= */
/* Desktop/tablet artwork remains unchanged. The supplied vertical cover is
   rendered only on phones, in its complete aspect ratio, directly below the
   fixed navigation. This avoids cropping the title, author and centurion. */
.bovis-hero__mobile-art{display:none}

@media (max-width:700px){
	.bovis-hero{
		display:block;
		min-height:0;
		padding-top:82px;
		background:var(--bovis-burgundy-dark);
		overflow:hidden;
	}
	.bovis-hero__background,
	.bovis-hero__veil{display:none!important}
	.bovis-hero__mobile-art{
		display:block;
		width:100%;
		aspect-ratio:1348/2048;
		background-image:url("assets/images/hero-mobile.webp");
		background-position:center top;
		background-size:100% auto;
		background-repeat:no-repeat;
	}
	.bovis-hero__layout{
		display:block;
		min-height:0;
		width:min(calc(100% - 24px),var(--bovis-content));
		padding:0 0 24px;
	}
	.bovis-hero-card{
		width:100%;
		margin:0;
		padding:22px;
		background:rgba(37,9,13,.96);
		backdrop-filter:none;
	}
}

@media (max-width:620px){
	.bovis-hero{padding-top:74px}
}

/* =========================================================
   V15 — mobile hero label, menu alignment and footer cleanup
   ========================================================= */
@media (max-width:700px){
	/* Preserve the brand palette on the mobile hero card. */
	.bovis-hero-card .bovis-eyebrow{
		color:var(--bovis-gold)!important;
	}

	/* Keep the hamburger at the far right edge of the navigation row. */
	.bovis-menu-toggle{
		margin-left:auto;
		flex:0 0 auto;
	}

	/* Remove the beige body strip below the footer. Space for the fixed mobile
	   purchase bar is kept inside the dark footer instead. */
	body.bovis-front-page{
		padding-bottom:0!important;
	}
	.bovis-footer{
		padding-bottom:calc(30px + 82px);
	}
}

/* =========================================================
   V17 — footer contact cleanup
   ========================================================= */
/* Keep the author portrait shape independent of the expanded biography.
   A fixed-size pseudo-element prevents the mask from stretching when the
   details element increases the section height. */
@media (min-width:981px){
	.bovis-author-stage::before{
		top:clamp(30px,3vw,52px);
		bottom:auto;
		height:clamp(560px,42vw,680px);
		transform:none;
		border-radius:34px;
		clip-path:inset(0 round 34px);
		-webkit-mask-image:radial-gradient(ellipse 88% 96% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.56) 92%,transparent 100%);
		mask-image:radial-gradient(ellipse 88% 96% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.96) 82%,rgba(0,0,0,.56) 92%,transparent 100%);
	}
}

/* Footer now contains only shop contact and legal/book metadata. */
.bovis-footer__grid{
	grid-template-columns:minmax(0,1fr) auto;
	align-items:center;
}

@media(max-width:980px){
	.bovis-footer__grid{grid-template-columns:1fr auto}
	.bovis-footer__meta{grid-column:auto;flex-direction:column;text-align:right}
}

@media(max-width:620px){
	.bovis-footer__grid{grid-template-columns:1fr}
	.bovis-footer__meta{text-align:left}
}



/* =========================================================
   V18 — subtler gradients in parchment character sections
   ========================================================= */
/* Only the beige/parchment sections are adjusted. Dark burgundy
   character sections retain their existing overlays unchanged. */
.bovis-character-section--light.bovis-character-section--image-right::after{
	background:linear-gradient(90deg,
		var(--bovis-parchment) 0%,
		var(--bovis-parchment) 37%,
		rgba(240,230,210,.82) 48%,
		rgba(240,230,210,.40) 61%,
		rgba(240,230,210,.10) 76%,
		rgba(240,230,210,0) 100%);
}
.bovis-character-section--light.bovis-character-section--image-left::after{
	background:linear-gradient(90deg,
		rgba(240,230,210,0) 0%,
		rgba(240,230,210,.10) 24%,
		rgba(240,230,210,.40) 39%,
		rgba(240,230,210,.82) 52%,
		var(--bovis-parchment) 63%,
		var(--bovis-parchment) 100%);
}

@media(max-width:800px){
	.bovis-character-section--light::after{
		background:linear-gradient(180deg,
			rgba(240,230,210,0) 0%,
			rgba(240,230,210,.04) 45%,
			rgba(240,230,210,.42) 62%,
			rgba(240,230,210,.90) 74%,
			var(--bovis-parchment) 82%,
			var(--bovis-parchment) 100%)!important;
	}
}


/* =========================================================
   V19 — content and purchase section copy update
   ========================================================= */
.bovis-hero-card__quote span{display:block}
.bovis-hero-card__patron{
	margin:18px 0 0;
	padding-top:16px;
	border-top:1px solid rgba(227,195,34,.30);
	font-family:var(--bovis-caps);
	font-weight:800;
	letter-spacing:.14em;
	line-height:1.45;
	text-transform:uppercase;
	color:var(--bovis-gold);
}
.bovis-hero-card__patron strong{display:block;font-family:var(--bovis-display);font-size:1.05em;letter-spacing:.09em;color:var(--bovis-gold)}
.bovis-offers{grid-template-columns:1fr 1fr}
.bovis-offer--ebook{display:none!important}
.bovis-author-stage .bovis-lead{max-width:780px}
.bovis-author-stage .bovis-prose h3{
	margin:0 0 14px;
	font-family:var(--bovis-display);
	font-size:clamp(1.35rem,2vw,1.95rem);
	line-height:1.15;
	color:var(--bovis-gold);
}
@media(max-width:980px){.bovis-offers{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bovis-offers{grid-template-columns:1fr}}

/* =========================================================
   V20 — hero card typography, author panorama and portrait softness
   ========================================================= */
/* The hero tile is visually lighter so it no longer covers the author name
   embedded in the artwork. Desktop composition is adjusted only by scale and
   a gentle downward offset; the original PC hero image remains unchanged. */
@media (min-width:701px){
	.bovis-hero-card{
		width:min(100%,390px);
		padding:clamp(18px,2vw,26px);
		transform:translateY(clamp(22px,4vh,48px));
	}
	.bovis-hero-card__quote{
		margin-bottom:14px;
		font-size:clamp(1.02rem,.82rem + .42vw,1.30rem);
		line-height:1.43;
		text-wrap:pretty;
	}
	.bovis-hero-card__patron{
		margin-top:12px;
		padding-top:12px;
		font-size:clamp(.72rem,.62rem + .18vw,.86rem);
		line-height:1.34;
		letter-spacing:.115em;
	}
	.bovis-hero-card__patron strong{
		font-size:1em;
		letter-spacing:.075em;
	}
	.bovis-hero-card__price{
		margin-bottom:16px;
		padding-top:12px;
	}
	.bovis-hero-card__price strong{
		font-size:clamp(1.48rem,1.7vw,1.85rem);
	}
}

/* Add the same restrained city-panorama atmosphere used near the patrons
   section to the author area, without overpowering the portrait or text. */
.bovis-author-stage{
	background:
		linear-gradient(90deg,rgba(61,18,23,.93),rgba(61,18,23,.90)),
		url("assets/images/city-wide.webp") center center/cover no-repeat,
		var(--bovis-burgundy-dark)!important;
}

/* Keep the author photograph softly rounded in both collapsed and expanded
   states. The clipping is explicit because details expansion can otherwise
   reveal hard pseudo-element edges in some browsers. */
.bovis-author-stage::before{
	border-radius:34px!important;
	clip-path:inset(0 round 34px)!important;
	-webkit-mask-clip:border-box;
	mask-clip:border-box;
}

@media (max-width:800px){
	.bovis-author-stage::before{
		left:14px!important;
		right:14px!important;
		width:auto!important;
		border-radius:24px!important;
		clip-path:inset(0 round 24px)!important;
	}
}

/* =========================================================
   V21 — restore pre-V20 mobile author photo, keep rounded PC portrait
   ========================================================= */
/* Mobile: revert the author section to the pre-V20 treatment so the photo
   behaves like before the panorama/rounded-mobile experiment. */
@media (max-width:800px){
	.bovis-author-stage{
		background:var(--bovis-burgundy-dark)!important;
	}
	.bovis-author-stage::before{
		left:0!important;
		right:0!important;
		width:100%!important;
		border-radius:0!important;
		clip-path:none!important;
		-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.55) 86%,transparent 100%)!important;
		mask-image:linear-gradient(180deg,#000 0%,#000 72%,rgba(0,0,0,.55) 86%,transparent 100%)!important;
	}
	.bovis-author-stage::after{
		background:linear-gradient(180deg,rgba(61,18,23,.02) 0%,rgba(61,18,23,.16) 48%,var(--bovis-burgundy-dark) 70%,var(--bovis-burgundy-dark) 100%)!important;
	}
}

/* Desktop: explicitly preserve soft rounded corners on the author portrait. */
@media (min-width:981px){
	.bovis-author-stage::before{
		border-radius:34px!important;
		clip-path:inset(0 round 34px)!important;
	}
}


/* =========================================================
   V22 — Facebook link in navigation and author phone in footer
   ========================================================= */
.bovis-social-link{
	width:42px;
	min-width:42px;
	height:42px;
	display:inline-grid!important;
	place-items:center;
	padding:0!important;
	border:1px solid rgba(97,29,36,.36);
	border-radius:999px;
	color:var(--bovis-burgundy-dark)!important;
	background:rgba(240,230,210,.30);
	transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}
.bovis-social-link::after{display:none!important}
.bovis-social-link svg{
	width:21px;
	height:21px;
	fill:currentColor;
	display:block;
}
.bovis-social-link:hover,
.bovis-social-link:focus-visible{
	color:var(--bovis-burgundy)!important;
	background:rgba(227,195,34,.28);
	border-color:rgba(97,29,36,.58);
	transform:translateY(-1px);
}
.bovis-footer__author-contact{
	margin-top:10px!important;
	color:rgba(238,230,216,.88);
}
.bovis-footer__author-contact a{
	color:var(--bovis-gold)!important;
	font-weight:700;
	text-decoration:none;
}
.bovis-footer__author-contact a:hover,
.bovis-footer__author-contact a:focus-visible{
	text-decoration:underline;
}

@media(max-width:1180px){
	.bovis-social-link{
		width:38px;
		min-width:38px;
		height:38px;
	}
	.bovis-social-link svg{
		width:19px;
		height:19px;
	}
}

@media(max-width:800px){
	.bovis-social-link{
		width:100%;
		min-width:0;
		height:auto;
		min-height:46px;
		border-radius:12px;
		justify-content:flex-start;
		padding:12px 10px!important;
		background:rgba(97,29,36,.08);
	}
	.bovis-social-link::before{
		content:"Facebook";
		order:2;
		margin-left:10px;
		font-family:var(--bovis-caps);
		font-weight:700;
		letter-spacing:.055em;
	}
	.bovis-social-link svg{
		order:1;
	}
}


/* =========================================================
   V23 — WooCommerce shop, cart and checkout visual integration
   ========================================================= */
body.bovis-theme.woocommerce,
body.bovis-theme.woocommerce-page,
body.bovis-theme.woocommerce-cart,
body.bovis-theme.woocommerce-checkout{
	background:
		linear-gradient(180deg,rgba(240,230,210,.96),rgba(240,230,210,.98)),
		url("assets/images/menu-marble.webp") center top/900px auto repeat,
		var(--bovis-parchment)!important;
	color:var(--bovis-ink);
	font-family:var(--bovis-serif);
}

.bovis-woo-main{
	min-height:70vh;
	padding-top:84px;
	background:
		linear-gradient(180deg,rgba(61,18,23,.13),rgba(240,230,210,0) 260px),
		var(--bovis-parchment);
}

.bovis-woo-hero{
	position:relative;
	overflow:hidden;
	padding:clamp(50px,7vw,88px) 0 clamp(30px,4vw,54px);
	background:
		linear-gradient(90deg,rgba(61,18,23,.96),rgba(61,18,23,.86)),
		url("assets/images/city-wide.webp") center center/cover no-repeat,
		var(--bovis-burgundy-dark);
	color:var(--bovis-ivory);
	border-bottom:2px solid rgba(227,195,34,.55);
}

.bovis-woo-hero::after{
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:8px;
	background:linear-gradient(90deg,transparent,var(--bovis-gold),transparent);
	opacity:.82;
}

.bovis-woo-hero .bovis-shell{
	position:relative;
	z-index:1;
}

.bovis-woo-hero h1{
	margin:.18em 0 0;
	max-width:900px;
	font-family:var(--bovis-display);
	font-size:clamp(2.4rem,5vw,5.6rem);
	line-height:.94;
	letter-spacing:.015em;
	color:var(--bovis-ivory);
	text-wrap:balance;
}

.bovis-woo-hero p{
	margin:18px 0 0;
	max-width:740px;
	font-size:clamp(1.02rem,1.6vw,1.25rem);
	line-height:1.65;
	color:rgba(238,230,216,.88);
}

.bovis-woo-panel{
	width:min(calc(100% - 32px),var(--bovis-content));
	margin:clamp(28px,5vw,54px) auto clamp(54px,7vw,92px);
	padding:clamp(22px,4vw,42px);
	background:rgba(255,253,248,.77);
	border:1px solid rgba(227,195,34,.42);
	border-radius:26px;
	box-shadow:var(--bovis-shadow);
}

.bovis-woo-panel::before{
	content:"";
	display:block;
	width:min(220px,42vw);
	height:2px;
	margin:0 auto clamp(22px,3vw,34px);
	background:linear-gradient(90deg,transparent,var(--bovis-gold),transparent);
}

/* WooCommerce typography and basic links */
.bovis-woo-panel h1,
.bovis-woo-panel h2,
.bovis-woo-panel h3,
.bovis-woo-panel .woocommerce-loop-product__title,
.bovis-woo-panel .wc-block-components-title{
	font-family:var(--bovis-display)!important;
	color:var(--bovis-burgundy)!important;
	letter-spacing:.01em;
}

.bovis-woo-panel a{
	color:var(--bovis-burgundy);
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}

.bovis-woo-panel a:hover{
	color:var(--bovis-gold);
}

/* Notices */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error,
.wc-block-components-notice-banner{
	border:1px solid rgba(227,195,34,.45)!important;
	border-left:4px solid var(--bovis-gold)!important;
	border-radius:18px!important;
	background:rgba(97,29,36,.06)!important;
	color:var(--bovis-ink)!important;
	font-family:var(--bovis-serif)!important;
	box-shadow:0 12px 34px rgba(43,29,18,.08);
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before{
	color:var(--bovis-burgundy)!important;
}

/* Buttons — classic WooCommerce and Woo blocks */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .checkout-button,
.wc-block-components-button,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
	display:inline-flex!important;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:48px;
	padding:14px 22px!important;
	border:1px solid var(--bovis-gold)!important;
	border-radius:12px!important;
	background:var(--bovis-burgundy)!important;
	color:var(--bovis-gold)!important;
	font-family:var(--bovis-caps)!important;
	font-size:1.04rem!important;
	font-weight:700!important;
	line-height:1.1!important;
	letter-spacing:.055em!important;
	text-transform:none!important;
	box-shadow:0 14px 34px rgba(61,18,23,.18);
	transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .checkout-button:hover,
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover{
	transform:translateY(-1px);
	background:var(--bovis-burgundy-dark)!important;
	color:var(--bovis-ivory)!important;
	box-shadow:0 18px 42px rgba(61,18,23,.24);
}

/* Shop grid and product cards */
.woocommerce .woocommerce-ordering select,
.woocommerce .orderby{
	min-height:44px;
	border:1px solid rgba(97,29,36,.24);
	border-radius:12px;
	background:#fffdf8;
	color:var(--bovis-ink);
	font-family:var(--bovis-serif);
}

.woocommerce ul.products{
	display:grid!important;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(18px,2.6vw,34px)!important;
	margin-top:28px!important;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none!important}

.woocommerce ul.products li.product{
	width:auto!important;
	float:none!important;
	margin:0!important;
	padding:clamp(16px,2.1vw,24px)!important;
	background:
		linear-gradient(180deg,rgba(255,253,248,.90),rgba(240,230,210,.92)),
		var(--bovis-white);
	border:1px solid rgba(227,195,34,.44);
	border-radius:22px;
	box-shadow:0 14px 38px rgba(43,29,18,.10);
	text-align:left!important;
	transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}

.woocommerce ul.products li.product:hover{
	transform:translateY(-4px);
	border-color:rgba(227,195,34,.72);
	box-shadow:0 22px 54px rgba(43,29,18,.16);
}

.woocommerce ul.products li.product a img{
	width:100%;
	aspect-ratio:3/4;
	object-fit:cover;
	border-radius:16px;
	border:1px solid rgba(97,29,36,.18);
	box-shadow:0 14px 28px rgba(43,29,18,.13);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
	margin:18px 0 8px!important;
	padding:0!important;
	font-size:clamp(1.25rem,1.8vw,1.7rem)!important;
	line-height:1.15!important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.wc-block-components-product-price,
.wc-block-components-totals-item__value{
	color:var(--bovis-burgundy)!important;
	font-family:var(--bovis-display)!important;
	font-weight:700!important;
	letter-spacing:.03em;
}

.woocommerce ul.products li.product .button{
	margin-top:14px!important;
	width:100%;
}

/* Single product */
.woocommerce div.product{
	display:grid;
	grid-template-columns:minmax(280px,.9fr) minmax(360px,1.1fr);
	gap:clamp(28px,5vw,64px);
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary{
	float:none!important;
	width:auto!important;
}

.woocommerce div.product div.images img{
	border-radius:24px;
	border:1px solid rgba(227,195,34,.48);
	box-shadow:var(--bovis-shadow);
}

.woocommerce div.product .product_title{
	font-size:clamp(2.2rem,4.5vw,4.7rem);
	line-height:.96;
}

.woocommerce div.product form.cart{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	align-items:center;
	margin-top:26px;
}

.woocommerce .quantity .qty,
.wc-block-components-quantity-selector input{
	min-height:48px;
	border:1px solid rgba(97,29,36,.24)!important;
	border-radius:12px!important;
	background:#fffdf8!important;
	color:var(--bovis-ink)!important;
	font-family:var(--bovis-display)!important;
	font-weight:700;
}

/* Cart — classic tables and block cart */
.woocommerce table.shop_table,
.wc-block-cart,
.wc-block-components-sidebar,
.wc-block-components-main{
	border:0!important;
}

.woocommerce table.shop_table{
	border-collapse:separate!important;
	border-spacing:0;
	overflow:hidden;
	border-radius:20px!important;
	background:rgba(255,253,248,.82);
	box-shadow:0 12px 34px rgba(43,29,18,.08);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td{
	border-color:rgba(97,29,36,.14)!important;
	padding:18px!important;
}

.woocommerce table.shop_table th,
.wc-block-cart-items__header,
.wc-block-components-totals-wrapper:first-child{
	background:rgba(97,29,36,.08)!important;
	color:var(--bovis-burgundy)!important;
	font-family:var(--bovis-caps);
	font-weight:700;
	letter-spacing:.075em;
	text-transform:uppercase;
}

.woocommerce table.cart img,
.wc-block-cart-items__row img{
	border-radius:12px;
	border:1px solid rgba(227,195,34,.38);
}

.woocommerce-cart .cart-collaterals .cart_totals,
.wc-block-cart__totals-title,
.wc-block-components-sidebar{
	padding:clamp(18px,3vw,28px)!important;
	background:var(--bovis-burgundy)!important;
	color:var(--bovis-ivory)!important;
	border:1px solid rgba(227,195,34,.48)!important;
	border-radius:22px!important;
	box-shadow:0 18px 45px rgba(61,18,23,.20);
}

.woocommerce-cart .cart-collaterals .cart_totals h2,
.wc-block-cart__totals-title{
	color:var(--bovis-gold)!important;
	font-family:var(--bovis-display)!important;
}

.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td,
.wc-block-components-sidebar *{
	color:inherit;
}

.woocommerce-cart .coupon input.input-text,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-form .wc-block-components-text-input input{
	min-height:48px!important;
	border:1px solid rgba(97,29,36,.24)!important;
	border-radius:12px!important;
	background:#fffdf8!important;
	color:var(--bovis-ink)!important;
	font-family:var(--bovis-serif)!important;
	box-shadow:none!important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus{
	border-color:var(--bovis-gold)!important;
	outline:2px solid rgba(227,195,34,.25)!important;
}

/* Checkout */
.woocommerce-checkout form.checkout{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
	gap:clamp(24px,4vw,48px);
	align-items:start;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-checkout-review-order,
.wc-block-checkout__form,
.wc-block-components-sidebar-layout .wc-block-components-main{
	min-width:0;
}

.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-checkout #order_review{
	padding:clamp(20px,3vw,30px);
	background:rgba(255,253,248,.78);
	border:1px solid rgba(227,195,34,.36);
	border-radius:22px;
	box-shadow:0 12px 34px rgba(43,29,18,.08);
}

.woocommerce-checkout #order_review{
	background:var(--bovis-burgundy);
	color:var(--bovis-ivory);
	border-color:rgba(227,195,34,.50);
}

.woocommerce-checkout #order_review h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
	color:inherit;
}

.woocommerce-checkout-review-order-table{
	background:transparent!important;
	box-shadow:none!important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
	border-color:rgba(227,195,34,.20)!important;
}

.woocommerce-checkout #payment{
	background:rgba(35,7,11,.34)!important;
	border:1px solid rgba(227,195,34,.22);
	border-radius:18px!important;
	color:var(--bovis-ivory)!important;
}

.woocommerce-checkout #payment div.payment_box{
	background:rgba(240,230,210,.10)!important;
	color:var(--bovis-ivory)!important;
	border-radius:14px;
}

.woocommerce-checkout #payment div.payment_box::before{
	border-bottom-color:rgba(240,230,210,.10)!important;
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper,
.wc-block-components-checkout-step__description{
	color:rgba(43,29,18,.78)!important;
	font-size:.94rem;
	line-height:1.6;
}

.woocommerce-checkout #order_review .woocommerce-privacy-policy-text,
.woocommerce-checkout #order_review .woocommerce-terms-and-conditions-wrapper{
	color:rgba(238,230,216,.80)!important;
}

/* Woo blocks specific refinements */
.wc-block-components-sidebar-layout{
	gap:clamp(24px,4vw,48px)!important;
}

.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-components-checkout-step{
	border-color:rgba(97,29,36,.14)!important;
}

.wc-block-components-checkout-step__title,
.wc-block-components-title{
	font-family:var(--bovis-display)!important;
	color:var(--bovis-burgundy)!important;
}

.wc-block-components-product-name{
	font-family:var(--bovis-display)!important;
	color:var(--bovis-burgundy)!important;
	font-weight:700!important;
}

.wc-block-components-sidebar .wc-block-components-product-name,
.wc-block-components-sidebar .wc-block-components-product-price,
.wc-block-components-sidebar .wc-block-components-totals-item__label,
.wc-block-components-sidebar .wc-block-components-totals-item__value{
	color:var(--bovis-ivory)!important;
}

.wc-block-components-sidebar .wc-block-components-button{
	width:100%;
	background:var(--bovis-gold)!important;
	color:var(--bovis-burgundy)!important;
	border-color:var(--bovis-gold)!important;
}

/* Order received / order details */
.woocommerce-order,
.woocommerce-order-overview,
.woocommerce-order-details,
.woocommerce-customer-details{
	padding:clamp(20px,3vw,30px);
	background:rgba(255,253,248,.78);
	border:1px solid rgba(227,195,34,.36);
	border-radius:22px;
	box-shadow:0 12px 34px rgba(43,29,18,.08);
}

.woocommerce-order-overview{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
	gap:14px;
	margin:22px 0!important;
}

.woocommerce-order-overview li{
	margin:0!important;
	padding:14px!important;
	border:1px solid rgba(97,29,36,.14)!important;
	border-radius:14px;
	background:rgba(97,29,36,.06);
}

/* Navigation is the same as front page on Woo pages. */
body.bovis-woo-template .bovis-site-header{
	background:
		linear-gradient(180deg,rgba(255,253,248,.58),rgba(240,230,210,.48)),
		url("assets/images/menu-marble.webp") center center/cover no-repeat!important;
	border-bottom:1px solid rgba(97,29,36,.28);
	box-shadow:0 12px 30px rgba(35,7,11,.12);
}

body.bovis-woo-template .bovis-brand,
body.bovis-woo-template .bovis-nav__links a{
	color:var(--bovis-burgundy)!important;
}

body.bovis-woo-template .bovis-nav__links a:hover{
	color:var(--bovis-gold)!important;
}

/* Responsive WooCommerce pages */
@media(max-width:980px){
	.woocommerce ul.products{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
	.woocommerce div.product,
	.woocommerce-checkout form.checkout{
		grid-template-columns:1fr;
	}
	.bovis-woo-main{padding-top:78px}
}

@media(max-width:700px){
	.bovis-woo-main{padding-top:72px}
	.bovis-woo-panel{
		width:min(calc(100% - 20px),var(--bovis-content));
		padding:18px;
		border-radius:20px;
	}
	.bovis-woo-hero{
		padding:38px 0 28px;
	}
	.bovis-woo-hero h1{
		font-size:clamp(2.1rem,13vw,3.6rem);
	}
	.woocommerce ul.products{
		grid-template-columns:1fr;
		gap:18px!important;
	}
	.woocommerce table.shop_table_responsive tr,
	.woocommerce-page table.shop_table_responsive tr{
		border:1px solid rgba(97,29,36,.13);
		border-radius:16px;
		margin-bottom:14px;
		overflow:hidden;
		background:#fffdf8;
	}
	.woocommerce table.shop_table_responsive tr td,
	.woocommerce-page table.shop_table_responsive tr td{
		border:0!important;
		padding:14px!important;
	}
	.woocommerce .coupon{
		display:grid;
		grid-template-columns:1fr;
		gap:10px;
	}
	.woocommerce .coupon .button,
	.woocommerce .actions .button{
		width:100%;
	}
	.wc-block-components-sidebar,
	.woocommerce-cart .cart-collaterals .cart_totals{
		border-radius:18px!important;
	}
}

@media(max-width:480px){
	.bovis-woo-panel{padding:14px}
	.woocommerce ul.products li.product{padding:14px!important}
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.wc-block-components-button{
		width:100%;
	}
}

/* =========================================================
   V24 — product imagery and calmer WooCommerce typography
   ========================================================= */
body.bovis-woo-template .bovis-woo-hero h1{
	font-size:clamp(2.05rem,4.1vw,4.35rem);
	line-height:1;
}
body.bovis-woo-template .bovis-woo-hero p{
	font-size:clamp(.98rem,1.25vw,1.14rem);
}
body.bovis-woo-template .bovis-woo-panel h1,
.woocommerce div.product .product_title{
	font-size:clamp(1.9rem,3.3vw,3.7rem)!important;
	line-height:1.03!important;
}
body.bovis-woo-template .bovis-woo-panel h2,
body.bovis-woo-template .bovis-woo-panel h3,
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.woocommerce-checkout #order_review_heading,
.woocommerce-cart .cart-collaterals .cart_totals h2{
	font-size:clamp(1.28rem,2vw,2rem)!important;
	line-height:1.12!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:clamp(1.14rem,1.35vw,1.45rem)!important;
}
.woocommerce table.shop_table th,
.wc-block-cart-items__header,
.wc-block-components-totals-wrapper:first-child,
.wc-block-components-product-name{
	font-size:clamp(.94rem,1vw,1.05rem)!important;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .checkout-button,
.wc-block-components-button,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{
	font-size:.96rem!important;
	letter-spacing:.045em!important;
}

/* Product photos in cart, checkout and order details. */
.bovis-woo-product-thumb{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	vertical-align:middle;
	background:rgba(255,253,248,.74);
	border:1px solid rgba(227,195,34,.42);
	border-radius:14px;
	box-shadow:0 10px 24px rgba(43,29,18,.12);
	overflow:hidden;
}
.bovis-woo-product-thumb img,
.woocommerce table.cart img.bovis-woo-block-product-image,
.wc-block-cart-items__row img.bovis-woo-block-product-image,
.wc-block-components-order-summary-item img.bovis-woo-block-product-image{
	display:block!important;
	width:100%!important;
	height:100%!important;
	object-fit:contain!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
}
.bovis-woo-product-thumb--cart,
.woocommerce table.cart img,
.wc-block-cart-items__row img{
	width:84px!important;
	height:78px!important;
	padding:4px;
	object-fit:contain!important;
}
.bovis-woo-product-thumb--checkout,
.bovis-woo-product-thumb--order,
.bovis-woo-product-thumb--block,
.wc-block-components-order-summary-item img{
	width:64px!important;
	height:60px!important;
	padding:4px;
	object-fit:contain!important;
}
.bovis-woo-product-line{
	display:inline-flex;
	align-items:center;
	gap:12px;
	min-width:0;
}
.bovis-woo-product-line__name{
	display:inline-block;
	min-width:0;
}
.woocommerce table.shop_table td.product-thumbnail{
	width:112px;
	text-align:center;
}
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-order-details .product-name{
	min-width:220px;
}
.woocommerce ul.products li.product .bovis-woo-product-thumb--catalog{
	width:100%;
	aspect-ratio:4/3;
	padding:10px;
	border-radius:16px;
}
.woocommerce ul.products li.product .bovis-woo-product-thumb--catalog img{
	object-fit:contain!important;
}

@media(max-width:700px){
	body.bovis-woo-template .bovis-woo-hero h1{
		font-size:clamp(1.9rem,10vw,3.05rem)!important;
	}
	body.bovis-woo-template .bovis-woo-panel h1,
	.woocommerce div.product .product_title{
		font-size:clamp(1.75rem,8vw,2.7rem)!important;
	}
	.bovis-woo-product-thumb--cart,
	.woocommerce table.cart img,
	.wc-block-cart-items__row img{
		width:72px!important;
		height:68px!important;
	}
	.bovis-woo-product-line{
		gap:10px;
		align-items:flex-start;
	}
	.bovis-woo-product-thumb--checkout,
	.bovis-woo-product-thumb--order,
	.bovis-woo-product-thumb--block,
	.wc-block-components-order-summary-item img{
		width:58px!important;
		height:54px!important;
	}
}

/* =========================================================
   V25 — unified single product pages
   ========================================================= */
body.single-product.bovis-woo-template .bovis-woo-panel{
	padding:clamp(20px,3vw,34px);
}
body.single-product.bovis-woo-template .bovis-woo-panel::before{
	margin-bottom:clamp(16px,2.2vw,24px);
}
body.single-product .woocommerce-breadcrumb{
	margin:0 0 clamp(18px,2.3vw,30px)!important;
	font-size:clamp(.9rem,.95vw,1.02rem)!important;
	line-height:1.4!important;
	color:rgba(97,29,36,.72)!important;
}
body.single-product .woocommerce-breadcrumb a{
	color:var(--bovis-burgundy)!important;
	text-decoration:none!important;
}
body.single-product .woocommerce-breadcrumb a:hover{
	color:var(--bovis-gold)!important;
}
body.single-product .woocommerce div.product{
	display:grid!important;
	grid-template-columns:minmax(320px,.92fr) minmax(420px,1.08fr)!important;
	gap:clamp(28px,4.4vw,58px)!important;
	align-items:center!important;
}
body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after{
	display:none!important;
}
body.single-product .woocommerce div.product div.summary{
	float:none!important;
	width:auto!important;
	margin:0!important;
	padding:0!important;
}
body.single-product .woocommerce div.product div.images{
	display:none!important;
}
.bovis-single-product-artwork{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:clamp(360px,46vw,590px);
	padding:clamp(16px,2.2vw,28px);
	background:
		radial-gradient(circle at 50% 44%,rgba(227,195,34,.12),transparent 58%),
		linear-gradient(180deg,rgba(255,253,248,.76),rgba(240,230,210,.62));
	border:1px solid rgba(227,195,34,.48);
	border-radius:28px;
	box-shadow:0 18px 54px rgba(43,29,18,.13);
	overflow:hidden;
}
.bovis-single-product-artwork img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-height:560px!important;
	object-fit:contain!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	filter:drop-shadow(0 24px 30px rgba(43,29,18,.22));
}
body.single-product .woocommerce div.product .product_title{
	max-width:660px;
	margin:0 0 12px!important;
	font-size:clamp(2rem,2.9vw,3.25rem)!important;
	line-height:1.04!important;
	letter-spacing:.01em!important;
}
body.single-product .woocommerce div.product p.price,
body.single-product .woocommerce div.product span.price{
	margin:0 0 20px!important;
	font-size:clamp(1.25rem,1.8vw,1.75rem)!important;
	line-height:1.2!important;
}
body.single-product .woocommerce-product-details__short-description,
body.single-product .bovis-product-summary-copy{
	max-width:640px;
	font-size:clamp(.98rem,1.04vw,1.1rem)!important;
	line-height:1.68!important;
	color:var(--bovis-ink)!important;
}
body.single-product .bovis-product-summary-copy p{
	margin:0 0 14px;
}
body.single-product .bovis-product-page-quote{
	margin:18px 0 0;
	padding:0 0 0 18px;
	border-left:2px solid var(--bovis-gold);
	font-size:.98em;
	font-style:normal;
	color:rgba(43,29,18,.86);
}
body.single-product .bovis-product-page-quote cite{
	display:block;
	margin-top:8px;
	font-style:normal;
	color:var(--bovis-burgundy);
}
body.single-product .woocommerce div.product form.cart{
	margin-top:22px!important;
	padding-top:22px;
	border-top:1px solid rgba(97,29,36,.14);
}
body.single-product .woocommerce div.product .quantity{
	margin:0!important;
}
body.single-product .woocommerce div.product .single_add_to_cart_button{
	min-width:190px;
}
body.single-product .woocommerce div.product .product_meta,
body.single-product .woocommerce div.product .posted_in{
	display:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs{
	grid-column:1 / -1!important;
	margin-top:clamp(20px,3vw,36px);
	padding:clamp(20px,3vw,32px);
	background:rgba(255,253,248,.62);
	border:1px solid rgba(227,195,34,.34);
	border-radius:24px;
	box-shadow:0 12px 34px rgba(43,29,18,.07);
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs{
	margin:0 0 22px!important;
	padding:0!important;
	border-bottom:1px solid rgba(97,29,36,.14)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs::after{
	display:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li{
	margin:0 18px 0 0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li::after{
	display:none!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{
	padding:0 0 10px!important;
	font-family:var(--bovis-caps)!important;
	font-size:clamp(.95rem,1vw,1.06rem)!important;
	font-weight:700!important;
	letter-spacing:.07em!important;
	color:var(--bovis-burgundy)!important;
	text-transform:uppercase!important;
	text-decoration:none!important;
	border-bottom:3px solid transparent!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
	color:var(--bovis-gold)!important;
	border-bottom-color:var(--bovis-gold)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs .panel{
	margin:0!important;
	font-size:clamp(.98rem,1.03vw,1.08rem)!important;
	line-height:1.7!important;
}
body.single-product .bovis-product-long-copy{
	max-width:860px;
}
body.single-product .bovis-product-long-copy h2{
	margin:0 0 12px!important;
	font-size:clamp(1.5rem,2vw,2.1rem)!important;
}
body.single-product .bovis-product-long-copy p{
	margin:0 0 14px;
}
body.single-product .woocommerce div.product .woocommerce-tabs .comment-reply-title,
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Reviews-title{
	font-size:clamp(1.25rem,1.7vw,1.75rem)!important;
	color:var(--bovis-burgundy)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs a,
body.single-product .woocommerce div.product .woocommerce-tabs .stars a{
	color:var(--bovis-burgundy)!important;
}
body.single-product .woocommerce div.product .woocommerce-tabs a:hover,
body.single-product .woocommerce div.product .woocommerce-tabs .stars a:hover{
	color:var(--bovis-gold)!important;
}

/* Keep all WooCommerce blue accents inside the Bovis palette. */
body.bovis-woo-template .wc-block-components-button:focus,
body.bovis-woo-template .wc-block-components-text-input input:focus,
body.bovis-woo-template .wc-block-components-form .wc-block-components-text-input input:focus,
body.bovis-woo-template .woocommerce form .form-row input.input-text:focus,
body.bovis-woo-template .woocommerce form .form-row textarea:focus{
	border-color:var(--bovis-gold)!important;
	box-shadow:0 0 0 2px rgba(227,195,34,.18)!important;
	outline:none!important;
}
body.bovis-woo-template a:focus,
body.bovis-woo-template button:focus{
	outline:2px solid rgba(227,195,34,.62)!important;
	outline-offset:3px;
}

@media(max-width:980px){
	body.single-product .woocommerce div.product{
		grid-template-columns:1fr!important;
	}
	.bovis-single-product-artwork{
		min-height:clamp(310px,70vw,520px);
	}
	body.single-product .woocommerce div.product .product_title{
		font-size:clamp(1.9rem,7.2vw,3rem)!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .bovis-woo-panel{
		padding:16px;
	}
	.bovis-single-product-artwork{
		min-height:310px;
		padding:14px;
		border-radius:22px;
	}
	.bovis-single-product-artwork img{
		max-height:350px!important;
	}
	body.single-product .woocommerce div.product form.cart{
		display:grid!important;
		grid-template-columns:1fr;
	}
	body.single-product .woocommerce div.product .single_add_to_cart_button{
		width:100%;
	}
	body.single-product .woocommerce div.product .woocommerce-tabs{
		padding:16px;
		border-radius:20px;
	}
}

/* =========================================================
   V26 — product images from supplied package + cleaner cart/order headers
   ========================================================= */
/* Remove the darker strip behind table labels such as "Produkt" and "Łącznie". */
body.bovis-woo-template .woocommerce table.shop_table th,
body.bovis-woo-template .wc-block-cart-items__header,
body.bovis-woo-template .wc-block-components-totals-wrapper:first-child,
body.bovis-woo-template .woocommerce-checkout-review-order-table th,
body.bovis-woo-template .woocommerce table.shop_table thead th,
body.bovis-woo-template .woocommerce table.shop_table tfoot th{
	background:transparent!important;
	background-color:transparent!important;
}

/* Keep product photos large and clean after replacing the assets. */
body.single-product .bovis-single-product-artwork img{
	max-height:600px!important;
}
body.single-product .bovis-single-product-artwork{
	background:linear-gradient(180deg,rgba(255,253,248,.72),rgba(240,230,210,.52))!important;
}
@media(max-width:620px){
	body.single-product .bovis-single-product-artwork img{
		max-height:360px!important;
	}
}

/* =========================================================
   V27 — repair single product artwork sizing
   ========================================================= */
body.single-product.bovis-woo-template .woocommerce div.product{
	display:grid!important;
	grid-template-columns:minmax(280px,430px) minmax(0,1fr)!important;
	gap:clamp(28px,4.4vw,58px)!important;
	align-items:start!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
body.single-product.bovis-woo-template .bovis-single-product-artwork{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:100%!important;
	max-width:430px!important;
	min-width:0!important;
	min-height:0!important;
	height:auto!important;
	aspect-ratio:3 / 4.18!important;
	margin:0!important;
	padding:clamp(14px,1.8vw,22px)!important;
	grid-column:1!important;
	grid-row:1!important;
	align-self:start!important;
}
body.single-product.bovis-woo-template .bovis-single-product-artwork img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:none!important;
	object-fit:contain!important;
	object-position:center center!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary{
	grid-column:2!important;
	grid-row:1!important;
	align-self:center!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > .woocommerce-tabs{
	grid-column:1 / -1!important;
}
@media(max-width:980px){
	body.single-product.bovis-woo-template .woocommerce div.product{
		grid-template-columns:1fr!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .bovis-single-product-artwork{
		grid-column:1!important;
		grid-row:auto!important;
		max-width:380px!important;
		margin:0 auto!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
	body.single-product.bovis-woo-template .woocommerce div.product > .summary{
		grid-column:1!important;
		grid-row:auto!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .bovis-single-product-artwork{
		max-width:320px!important;
		padding:12px!important;
		border-radius:22px!important;
	}
}

/* =========================================================
   V28 — make single product artwork genuinely visible
   ========================================================= */
body.single-product.bovis-woo-template .woocommerce div.product{
	grid-template-columns:minmax(360px,520px) minmax(0,1fr)!important;
	gap:clamp(30px,4.6vw,62px)!important;
	align-items:start!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-product-gallery .bovis-single-product-artwork,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-woo-product-thumb--catalog{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:100%!important;
	max-width:520px!important;
	min-width:min(100%,360px)!important;
	height:auto!important;
	min-height:420px!important;
	aspect-ratio:1 / 1.12!important;
	padding:clamp(18px,2.1vw,30px)!important;
	margin:0 auto!important;
	background:
		radial-gradient(circle at 50% 48%,rgba(227,195,34,.14),transparent 62%),
		linear-gradient(180deg,rgba(255,253,248,.82),rgba(240,230,210,.58))!important;
	border:1px solid rgba(227,195,34,.52)!important;
	border-radius:28px!important;
	box-shadow:0 18px 54px rgba(43,29,18,.13)!important;
	overflow:hidden!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork img,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-woo-product-thumb--catalog img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:100%!important;
	max-height:560px!important;
	object-fit:contain!important;
	object-position:center center!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	filter:drop-shadow(0 24px 30px rgba(43,29,18,.22))!important;
}
/* When WooCommerce still wraps the image in its own gallery container, keep
   that container from forcing a tiny thumbnail column. */
body.single-product.bovis-woo-template .woocommerce div.product div.images,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-product-gallery,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-product-gallery__wrapper,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-product-gallery__image,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-product-gallery__image a{
	float:none!important;
	width:100%!important;
	max-width:520px!important;
	height:auto!important;
	margin:0!important;
	display:block!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary{
	align-self:start!important;
	padding-top:clamp(8px,1.2vw,18px)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .product_title{
	font-size:clamp(1.95rem,2.65vw,3.05rem)!important;
	line-height:1.03!important;
}
@media(max-width:980px){
	body.single-product.bovis-woo-template .woocommerce div.product{
		grid-template-columns:1fr!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-woo-product-thumb--catalog{
		max-width:480px!important;
		min-width:0!important;
		min-height:380px!important;
		margin:0 auto!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-woo-product-thumb--catalog{
		max-width:340px!important;
		min-height:300px!important;
		padding:14px!important;
		border-radius:22px!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork img,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-woo-product-thumb--catalog img{
		max-height:330px!important;
	}
}

/* =========================================================
   V29 — Empik-like single product layout
   ========================================================= */
body.single-product.bovis-woo-template .bovis-woo-hero{
	display:none!important;
}
body.single-product.bovis-woo-template .bovis-woo-main{
	padding-top:clamp(22px,3vw,42px)!important;
}
body.single-product.bovis-woo-template .bovis-woo-panel{
	max-width:1320px!important;
	padding:clamp(24px,3.4vw,52px)!important;
	border-radius:28px!important;
	background:rgba(255,253,248,.92)!important;
}
body.single-product.bovis-woo-template .woocommerce-breadcrumb{
	margin:0 0 clamp(20px,2.4vw,34px)!important;
	font-size:clamp(.82rem,.85vw,.95rem)!important;
	line-height:1.4!important;
	color:rgba(97,29,36,.72)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product{
	display:grid!important;
	grid-template-columns:clamp(520px,43vw,660px) minmax(360px,1fr)!important;
	gap:clamp(34px,5vw,78px)!important;
	align-items:start!important;
	max-width:1220px!important;
	margin:0 auto!important;
}
body.single-product.bovis-woo-template .woocommerce div.product::before,
body.single-product.bovis-woo-template .woocommerce div.product::after{
	display:none!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery{
	grid-column:1!important;
	grid-row:1 / span 2!important;
	display:grid!important;
	grid-template-columns:74px minmax(0,1fr)!important;
	gap:clamp(18px,2vw,28px)!important;
	align-items:start!important;
	width:100%!important;
	min-width:0!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery__thumbs{
	display:flex!important;
	flex-direction:column!important;
	gap:12px!important;
	width:74px!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery__thumb{
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	width:72px!important;
	height:86px!important;
	padding:5px!important;
	background:#fffdf8!important;
	border:1px solid rgba(97,29,36,.18)!important;
	border-radius:8px!important;
	box-shadow:0 8px 20px rgba(43,29,18,.08)!important;
	overflow:hidden!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery__thumb.is-active{
	border-color:var(--bovis-gold)!important;
	box-shadow:0 0 0 2px rgba(227,195,34,.24),0 8px 20px rgba(43,29,18,.08)!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery__thumb img{
	display:block!important;
	max-width:100%!important;
	max-height:100%!important;
	width:auto!important;
	height:auto!important;
	object-fit:contain!important;
	filter:none!important;
	border:0!important;
	box-shadow:none!important;
	border-radius:0!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > .bovis-single-product-artwork,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork,
body.single-product.bovis-woo-template .bovis-single-product-artwork{
	grid-column:auto!important;
	grid-row:auto!important;
	display:flex!important;
	align-items:flex-start!important;
	justify-content:center!important;
	width:100%!important;
	max-width:none!important;
	min-width:0!important;
	min-height:0!important;
	height:auto!important;
	aspect-ratio:auto!important;
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	overflow:visible!important;
}
body.single-product.bovis-woo-template .bovis-single-product-artwork img{
	display:block!important;
	width:auto!important;
	height:auto!important;
	max-width:100%!important;
	max-height:clamp(560px,72vh,760px)!important;
	object-fit:contain!important;
	object-position:top center!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	filter:drop-shadow(0 24px 34px rgba(43,29,18,.25))!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary{
	grid-column:2!important;
	grid-row:1!important;
	width:100%!important;
	max-width:520px!important;
	padding:clamp(4px,.6vw,8px) 0 0!important;
	align-self:start!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .product_title{
	margin:0 0 10px!important;
	font-size:clamp(2rem,2.55vw,3.15rem)!important;
	line-height:1.02!important;
	letter-spacing:.018em!important;
}
body.single-product.bovis-woo-template .woocommerce div.product p.price,
body.single-product.bovis-woo-template .woocommerce div.product span.price{
	margin:8px 0 18px!important;
	font-size:clamp(1.55rem,2vw,2.15rem)!important;
	line-height:1!important;
	color:var(--bovis-burgundy)!important;
}
body.single-product.bovis-woo-template .woocommerce-product-details__short-description,
body.single-product.bovis-woo-template .bovis-product-summary-copy{
	font-size:clamp(.96rem,1.02vw,1.08rem)!important;
	line-height:1.62!important;
	color:var(--bovis-ink)!important;
}
body.single-product.bovis-woo-template .bovis-product-summary-copy p{
	margin:0 0 13px!important;
}
body.single-product.bovis-woo-template .bovis-product-page-quote{
	margin:16px 0!important;
	padding:0 0 0 16px!important;
	border-left:2px solid var(--bovis-gold)!important;
	font-size:.94em!important;
	line-height:1.55!important;
}
body.single-product.bovis-woo-template .woocommerce div.product form.cart{
	display:grid!important;
	grid-template-columns:126px minmax(220px,1fr)!important;
	gap:12px!important;
	align-items:center!important;
	margin:22px 0 0!important;
	padding:0!important;
	border:0!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .quantity{
	width:126px!important;
	margin:0!important;
}
body.single-product.bovis-woo-template .woocommerce .quantity .qty{
	width:126px!important;
	min-height:52px!important;
	font-size:1.02rem!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .single_add_to_cart_button{
	width:100%!important;
	min-height:52px!important;
	font-size:clamp(.86rem,.9vw,.98rem)!important;
	letter-spacing:.06em!important;
	box-shadow:0 12px 28px rgba(61,18,23,.18)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs{
	grid-column:2!important;
	grid-row:2!important;
	width:100%!important;
	max-width:520px!important;
	margin:clamp(24px,3vw,34px) 0 0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs ul.tabs{
	display:flex!important;
	gap:20px!important;
	margin:0 0 20px!important;
	padding:0!important;
	border-bottom:1px solid rgba(97,29,36,.14)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs ul.tabs li{
	margin:0!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs ul.tabs li a{
	padding:0 0 10px!important;
	font-family:var(--bovis-caps)!important;
	font-size:.85rem!important;
	letter-spacing:.06em!important;
	color:var(--bovis-burgundy)!important;
	border-bottom:3px solid transparent!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs ul.tabs li a:hover{
	color:var(--bovis-burgundy)!important;
	border-bottom-color:var(--bovis-gold)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs .panel{
	padding:0!important;
	font-size:clamp(.96rem,1.02vw,1.07rem)!important;
	line-height:1.62!important;
}
body.single-product.bovis-woo-template .bovis-product-long-copy h2{
	margin:0 0 12px!important;
	font-size:clamp(1.35rem,1.6vw,1.85rem)!important;
	line-height:1.15!important;
}
body.single-product.bovis-woo-template .bovis-product-long-copy p{
	margin:0 0 13px!important;
}
body.single-product.bovis-woo-template .woocommerce .woocommerce-message,
body.single-product.bovis-woo-template .woocommerce .woocommerce-info{
	max-width:1220px!important;
	margin:0 auto 24px!important;
	border:1px solid rgba(97,29,36,.30)!important;
	border-top:0!important;
	border-radius:16px!important;
	background:rgba(255,253,248,.86)!important;
	box-shadow:0 12px 32px rgba(43,29,18,.08)!important;
}
body.single-product.bovis-woo-template .woocommerce .woocommerce-message .button,
body.single-product.bovis-woo-template .woocommerce .woocommerce-info .button{
	float:right!important;
	margin-left:18px!important;
}
@media(max-width:1100px){
	body.single-product.bovis-woo-template .woocommerce div.product{
		grid-template-columns:minmax(360px,520px) minmax(340px,1fr)!important;
		gap:34px!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery{
		grid-template-columns:64px minmax(0,1fr)!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumbs{width:64px!important}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumb{width:62px!important;height:76px!important}
}
@media(max-width:880px){
	body.single-product.bovis-woo-template .woocommerce div.product{
		grid-template-columns:1fr!important;
		gap:28px!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery,
	body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
	body.single-product.bovis-woo-template .woocommerce div.product > .summary,
	body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs{
		grid-column:1!important;
		grid-row:auto!important;
		max-width:100%!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery{
		grid-template-columns:58px minmax(0,1fr)!important;
		max-width:560px!important;
		margin:0 auto!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumbs{width:58px!important}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumb{width:56px!important;height:70px!important}
	body.single-product.bovis-woo-template .bovis-single-product-artwork img{
		max-height:540px!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .bovis-woo-panel{
		padding:18px!important;
		border-radius:22px!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery{
		grid-template-columns:1fr!important;
		gap:14px!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumbs{
		order:2!important;
		width:100%!important;
		flex-direction:row!important;
		justify-content:center!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery__thumb{width:54px!important;height:68px!important}
	body.single-product.bovis-woo-template .bovis-single-product-artwork img{
		max-height:420px!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product form.cart{
		grid-template-columns:1fr!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product .quantity,
	body.single-product.bovis-woo-template .woocommerce .quantity .qty{
		width:100%!important;
	}
}


/* =========================================================
   V30 — bigger Empik-like product image, no duplicate thumbnails
   ========================================================= */
body.single-product.bovis-woo-template .bovis-woo-panel{
	max-width:1360px!important;
	padding:clamp(24px,3.2vw,48px)!important;
}
body.single-product.bovis-woo-template .woocommerce div.product{
	display:grid!important;
	grid-template-columns:minmax(480px, 58%) minmax(340px, 42%)!important;
	gap:clamp(34px,4.8vw,72px)!important;
	align-items:start!important;
	max-width:1260px!important;
	margin:0 auto!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery{
	grid-column:1!important;
	grid-row:1 / span 2!important;
	display:flex!important;
	align-items:flex-start!important;
	justify-content:center!important;
	width:100%!important;
	min-width:0!important;
	min-height:clamp(560px,68vh,760px)!important;
	margin:0!important;
	padding:0!important;
}
body.single-product.bovis-woo-template .bovis-single-gallery__thumbs{
	display:none!important;
}
body.single-product.bovis-woo-template .bovis-single-product-artwork,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork{
	display:flex!important;
	align-items:flex-start!important;
	justify-content:center!important;
	width:100%!important;
	max-width:min(100%,680px)!important;
	min-width:0!important;
	min-height:clamp(560px,68vh,760px)!important;
	height:auto!important;
	aspect-ratio:auto!important;
	margin:0 auto!important;
	padding:0!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	box-shadow:none!important;
	overflow:visible!important;
}
body.single-product.bovis-woo-template .bovis-single-product-artwork img,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:clamp(560px,76vh,780px)!important;
	object-fit:contain!important;
	object-position:top center!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	filter:drop-shadow(0 26px 34px rgba(43,29,18,.25))!important;
}
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary{
	grid-column:2!important;
	grid-row:1!important;
	max-width:520px!important;
	align-self:start!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs{
	grid-column:2!important;
	grid-row:2!important;
	max-width:520px!important;
}
body.single-product.bovis-woo-template .woocommerce div.product .product_title{
	font-size:clamp(1.92rem,2.4vw,3rem)!important;
	line-height:1.03!important;
}
body.single-product.bovis-woo-template .woocommerce-product-details__short-description,
body.single-product.bovis-woo-template .bovis-product-summary-copy,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs .panel{
	font-size:clamp(.94rem,.98vw,1.04rem)!important;
	line-height:1.58!important;
}
@media(max-width:1080px){
	body.single-product.bovis-woo-template .woocommerce div.product{
		grid-template-columns:1fr!important;
		gap:clamp(24px,5vw,42px)!important;
	}
	body.single-product.bovis-woo-template .bovis-single-gallery{
		grid-column:1!important;
		grid-row:auto!important;
		min-height:0!important;
	}
	body.single-product.bovis-woo-template .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork{
		max-width:min(100%,520px)!important;
		min-height:0!important;
	}
	body.single-product.bovis-woo-template .bovis-single-product-artwork img,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork img{
		max-height:620px!important;
	}
	body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
	body.single-product.bovis-woo-template .woocommerce div.product > .summary,
	body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs{
		grid-column:1!important;
		grid-row:auto!important;
		max-width:720px!important;
		margin-inline:auto!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .bovis-woo-panel{
		padding:18px!important;
	}
	body.single-product.bovis-woo-template .bovis-single-product-artwork,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork{
		max-width:92vw!important;
	}
	body.single-product.bovis-woo-template .bovis-single-product-artwork img,
	body.single-product.bovis-woo-template .woocommerce div.product .bovis-single-product-artwork img{
		max-height:520px!important;
	}
}

/* =========================================================
   V31 — Empik-like product page: one big image, one description
   ========================================================= */
body.single-product .woocommerce div.product,
body.single-product.bovis-woo-template .woocommerce div.product{
	display:block!important;
	max-width:1240px!important;
	margin:0 auto!important;
}
body.single-product .woocommerce div.product::before,
body.single-product .woocommerce div.product::after,
body.single-product.bovis-woo-template .woocommerce div.product::before,
body.single-product.bovis-woo-template .woocommerce div.product::after{
	display:none!important;
}
body.single-product .woocommerce div.product > div.summary,
body.single-product .woocommerce div.product > .summary,
body.single-product .woocommerce div.product > div.images,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .product_meta,
body.single-product .woocommerce div.product .posted_in,
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary,
body.single-product.bovis-woo-template .woocommerce div.product > div.images,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs{
	display:none!important;
}
body.single-product.bovis-woo-template .bovis-woo-panel{
	max-width:1360px!important;
	padding:clamp(24px,3.2vw,46px)!important;
}
.bovis-v31-product{
	display:grid;
	grid-template-columns:minmax(420px,54%) minmax(360px,46%);
	gap:clamp(34px,5vw,76px);
	align-items:start;
	width:100%;
}
.bovis-v31-product__media{
	min-width:0;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	padding-top:clamp(4px,.8vw,12px);
}
.bovis-v31-product__figure{
	width:min(100%,680px);
	margin:0;
	padding:0;
	background:transparent;
	border:0;
	box-shadow:none;
	line-height:0;
}
.bovis-v31-product__figure img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:clamp(560px,76vh,820px)!important;
	object-fit:contain!important;
	object-position:top center!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	filter:drop-shadow(0 28px 36px rgba(43,29,18,.26))!important;
}
.bovis-v31-product__figure--single{
	max-width:560px;
}
.bovis-v31-product__figure--bundle{
	max-width:660px;
}
.bovis-v31-product__summary{
	min-width:0;
	padding:clamp(4px,.8vw,12px) 0 0;
	font-size:clamp(.95rem,.98vw,1.04rem);
	line-height:1.58;
}
.bovis-v31-product__summary .product_title{
	margin:0 0 14px!important;
	font-size:clamp(2rem,3vw,3.15rem)!important;
	line-height:1.02!important;
	letter-spacing:.01em!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-v31-product__price,
.bovis-v31-product__summary p.price,
.bovis-v31-product__summary span.price{
	margin:0 0 18px!important;
	font-family:var(--bovis-display)!important;
	font-size:clamp(1.3rem,1.8vw,1.85rem)!important;
	font-weight:800!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-v31-product__format{
	display:grid;
	gap:8px;
	margin:0 0 22px;
}
.bovis-v31-product__format-label{
	font-family:var(--bovis-caps);
	font-size:.82rem;
	font-weight:800;
	letter-spacing:.09em;
	text-transform:uppercase;
	color:rgba(97,29,36,.76);
}
.bovis-v31-product__format-card{
	display:inline-flex;
	width:max-content;
	max-width:100%;
	padding:12px 16px;
	border:1px solid var(--bovis-gold);
	border-radius:12px;
	background:rgba(255,253,248,.72);
	font-weight:800;
	color:var(--bovis-burgundy);
}
.bovis-v31-product__copy{
	margin:0 0 22px;
	color:var(--bovis-ink);
}
.bovis-v31-product__copy h2{
	margin:0 0 12px!important;
	font-size:clamp(1.35rem,1.9vw,2rem)!important;
	line-height:1.1!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-v31-product__copy p{
	margin:0 0 13px;
}
.bovis-v31-product__cart{
	margin:22px 0 0;
	padding-top:22px;
	border-top:1px solid rgba(97,29,36,.14);
}
.bovis-v31-product__cart form.cart{
	display:grid!important;
	grid-template-columns:116px minmax(220px,1fr)!important;
	gap:14px!important;
	align-items:center!important;
	margin:0!important;
	padding:0!important;
	border-top:0!important;
}
.bovis-v31-product__cart .quantity,
.bovis-v31-product__cart .quantity .qty{
	width:100%!important;
	margin:0!important;
}
.bovis-v31-product__cart .single_add_to_cart_button{
	width:100%!important;
	min-height:52px!important;
	font-size:.92rem!important;
}
.bovis-v31-product__trust{
	margin-top:20px;
	border:1px solid rgba(97,29,36,.12);
	border-radius:14px;
	background:rgba(255,253,248,.60);
	overflow:hidden;
}
.bovis-v31-product__trust > div{
	display:grid;
	grid-template-columns:118px 1fr;
	gap:16px;
	padding:14px 16px;
	border-top:1px solid rgba(97,29,36,.10);
}
.bovis-v31-product__trust > div:first-child{border-top:0}
.bovis-v31-product__trust strong{
	color:var(--bovis-burgundy);
}
.bovis-v31-product__trust span{
	color:rgba(43,29,18,.78);
}
body.single-product .bovis-product-page-quote{
	margin:16px 0 0;
	padding:0 0 0 18px;
	border-left:2px solid var(--bovis-gold);
	font-size:.96em;
	font-style:normal;
	color:rgba(43,29,18,.84);
}
body.single-product .bovis-product-page-quote cite{
	display:block;
	margin-top:8px;
	font-style:normal;
	color:var(--bovis-burgundy);
}
/* Keep old/blue Woo accents inside the Bovis palette. */
body.single-product a,
body.single-product .woocommerce-tabs ul.tabs li.active a{
	color:var(--bovis-burgundy)!important;
}
@media(max-width:980px){
	.bovis-v31-product{
		grid-template-columns:1fr;
		gap:30px;
	}
	.bovis-v31-product__figure{
		width:min(100%,520px);
	}
	.bovis-v31-product__summary{
		max-width:720px;
		margin:0 auto;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .bovis-woo-panel{
		padding:18px!important;
	}
	.bovis-v31-product__figure{
		width:min(100%,92vw);
	}
	.bovis-v31-product__figure img{
		max-height:560px!important;
	}
	.bovis-v31-product__summary .product_title{
		font-size:clamp(1.8rem,10vw,2.6rem)!important;
	}
	.bovis-v31-product__cart form.cart{
		grid-template-columns:1fr!important;
	}
	.bovis-v31-product__trust > div{
		grid-template-columns:1fr;
		gap:4px;
	}
}

/* =========================================================
   V32 — clean product page: big image, no duplicated text, no overlap
   ========================================================= */
body.single-product.bovis-woo-template .bovis-woo-panel{
	max-width:1360px!important;
	padding:clamp(22px,3vw,44px)!important;
}
body.single-product .woocommerce div.product,
body.single-product.bovis-woo-template .woocommerce div.product{
	display:block!important;
	max-width:1240px!important;
	margin:0 auto!important;
	clear:both!important;
}
body.single-product .woocommerce div.product > div.summary,
body.single-product .woocommerce div.product > .summary,
body.single-product .woocommerce div.product > div.images,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .product_meta,
body.single-product .woocommerce div.product .posted_in,
body.single-product .woocommerce div.product .bovis-v31-product,
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .summary,
body.single-product.bovis-woo-template .woocommerce div.product > div.images,
body.single-product.bovis-woo-template .woocommerce div.product .woocommerce-tabs,
body.single-product.bovis-woo-template .woocommerce div.product .bovis-v31-product{
	display:none!important;
	visibility:hidden!important;
	height:0!important;
	min-height:0!important;
	max-height:0!important;
	margin:0!important;
	padding:0!important;
	overflow:hidden!important;
}
.bovis-v32-product,
.bovis-v32-product *{
	box-sizing:border-box;
	min-width:0;
}
.bovis-v32-product{
	display:grid!important;
	grid-template-columns:minmax(430px,52%) minmax(380px,48%)!important;
	gap:clamp(38px,5.2vw,82px)!important;
	align-items:start!important;
	width:100%!important;
	font-family:var(--bovis-serif)!important;
	font-size:clamp(.96rem,.98vw,1.04rem)!important;
	line-height:1.58!important;
	color:var(--bovis-ink)!important;
}
.bovis-v32-product__media{
	display:flex!important;
	align-items:flex-start!important;
	justify-content:center!important;
	width:100%!important;
	padding-top:clamp(8px,1vw,16px)!important;
}
.bovis-v32-product__figure{
	margin:0!important;
	padding:0!important;
	width:100%!important;
	background:transparent!important;
	border:0!important;
	box-shadow:none!important;
	line-height:0!important;
	text-align:center!important;
}
.bovis-v32-product__figure--single{
	max-width:min(100%,560px)!important;
}
.bovis-v32-product__figure--bundle{
	max-width:min(100%,660px)!important;
}
.bovis-v32-product__figure img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:100%!important;
	max-height:clamp(560px,76vh,800px)!important;
	object-fit:contain!important;
	object-position:top center!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
	filter:drop-shadow(0 28px 36px rgba(43,29,18,.26))!important;
}
.bovis-v32-product__panel{
	display:grid!important;
	gap:clamp(20px,2vw,28px)!important;
	align-content:start!important;
	width:100%!important;
	max-width:560px!important;
	padding-top:clamp(6px,.8vw,12px)!important;
}
.bovis-v32-product__purchase,
.bovis-v32-product__about{
	width:100%!important;
	position:relative!important;
	z-index:1!important;
	clear:both!important;
}
.bovis-v32-product__title{
	margin:0 0 10px!important;
	padding:0!important;
	font-family:var(--bovis-display)!important;
	font-size:clamp(1.75rem,2.35vw,2.75rem)!important;
	line-height:1.12!important;
	letter-spacing:.012em!important;
	font-weight:800!important;
	color:var(--bovis-burgundy)!important;
	text-transform:uppercase!important;
	word-break:normal!important;
	overflow-wrap:normal!important;
}
.bovis-v32-product__price{
	margin:0 0 14px!important;
	font-family:var(--bovis-display)!important;
	font-size:clamp(1.25rem,1.65vw,1.75rem)!important;
	font-weight:800!important;
	line-height:1.15!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-v32-product__price ins,
.bovis-v32-product__price del,
.bovis-v32-product__price .amount{
	color:inherit!important;
	font-size:inherit!important;
	line-height:inherit!important;
}
.bovis-v32-product__format{
	display:inline-flex!important;
	width:max-content!important;
	max-width:100%!important;
	margin:0 0 18px!important;
	padding:10px 14px!important;
	border:1px solid var(--bovis-gold)!important;
	border-radius:12px!important;
	background:rgba(255,253,248,.70)!important;
	font-family:var(--bovis-caps)!important;
	font-size:.82rem!important;
	font-weight:800!important;
	letter-spacing:.06em!important;
	color:var(--bovis-burgundy)!important;
}
.bovis-v32-product__cart{
	margin:0!important;
	padding-top:18px!important;
	border-top:1px solid rgba(97,29,36,.14)!important;
}
.bovis-v32-product__cart form.cart{
	display:grid!important;
	grid-template-columns:116px minmax(220px,1fr)!important;
	gap:14px!important;
	align-items:center!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	width:100%!important;
}
.bovis-v32-product__cart .quantity,
.bovis-v32-product__cart .quantity .qty{
	width:100%!important;
	margin:0!important;
	min-height:50px!important;
}
.bovis-v32-product__cart .single_add_to_cart_button{
	width:100%!important;
	min-height:50px!important;
	font-size:.88rem!important;
	letter-spacing:.06em!important;
	white-space:normal!important;
}
.bovis-v32-product__about{
	padding-top:clamp(6px,1vw,10px)!important;
	font-size:clamp(.96rem,.98vw,1.04rem)!important;
	line-height:1.64!important;
	color:var(--bovis-ink)!important;
}
.bovis-v32-product__about h2{
	margin:0 0 13px!important;
	font-family:var(--bovis-display)!important;
	font-size:clamp(1.35rem,1.7vw,1.9rem)!important;
	line-height:1.16!important;
	letter-spacing:.025em!important;
	color:var(--bovis-burgundy)!important;
	text-transform:uppercase!important;
}
.bovis-v32-product__about p{
	margin:0 0 13px!important;
	line-height:1.64!important;
}
.bovis-v32-product__about strong{
	font-weight:800!important;
}
.bovis-v32-product__about .bovis-product-page-quote{
	margin:16px 0 0!important;
	padding:0 0 0 18px!important;
	border-left:2px solid var(--bovis-gold)!important;
	font-size:.95em!important;
	line-height:1.56!important;
	font-style:normal!important;
	color:rgba(43,29,18,.84)!important;
}
.bovis-v32-product__about .bovis-product-page-quote cite{
	display:block!important;
	margin-top:8px!important;
	font-style:normal!important;
	color:var(--bovis-burgundy)!important;
}
body.single-product.bovis-woo-template .woocommerce .woocommerce-message,
body.single-product.bovis-woo-template .woocommerce .woocommerce-info{
	max-width:1240px!important;
	margin:0 auto 24px!important;
}
body.single-product a,
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce .woocommerce-message a,
body.single-product .woocommerce .woocommerce-info a{
	color:var(--bovis-burgundy)!important;
}
@media(max-width:1040px){
	.bovis-v32-product{
		grid-template-columns:minmax(320px,46%) minmax(340px,54%)!important;
		gap:34px!important;
	}
	.bovis-v32-product__title{
		font-size:clamp(1.6rem,2.5vw,2.35rem)!important;
	}
}
@media(max-width:820px){
	.bovis-v32-product{
		grid-template-columns:1fr!important;
		gap:28px!important;
	}
	.bovis-v32-product__figure{
		max-width:min(100%,480px)!important;
	}
	.bovis-v32-product__panel{
		max-width:720px!important;
		margin-inline:auto!important;
	}
}
@media(max-width:620px){
	body.single-product.bovis-woo-template .bovis-woo-panel{
		padding:18px!important;
	}
	.bovis-v32-product__figure{
		max-width:min(100%,92vw)!important;
	}
	.bovis-v32-product__figure img{
		max-height:560px!important;
	}
	.bovis-v32-product__title{
		font-size:clamp(1.72rem,9vw,2.45rem)!important;
	}
	.bovis-v32-product__cart form.cart{
		grid-template-columns:1fr!important;
	}
}


/* =========================================================
   V33 — definitive single product cleanup
   ========================================================= */
body.single-product.bovis-woo-template .bovis-v31-product{
	display:grid!important;
	grid-template-columns:minmax(420px,54%) minmax(360px,46%)!important;
	gap:clamp(34px,5vw,76px)!important;
	align-items:start!important;
	width:100%!important;
}
body.single-product.bovis-woo-template .bovis-v31-product__media{
	position:relative!important;
	z-index:1!important;
}
body.single-product.bovis-woo-template .bovis-v31-product__summary{
	position:relative!important;
	z-index:2!important;
}
body.single-product.bovis-woo-template .bovis-v31-product__media .summary,
body.single-product.bovis-woo-template .bovis-v31-product__media .entry-summary,
body.single-product.bovis-woo-template .bovis-v31-product__media .product_title,
body.single-product.bovis-woo-template .bovis-v31-product__media .woocommerce-product-details__short-description,
body.single-product.bovis-woo-template .bovis-v31-product__media .price,
body.single-product.bovis-woo-template .bovis-v31-product__media .product_meta,
body.single-product.bovis-woo-template .bovis-v31-product__media form.cart,
body.single-product.bovis-woo-template .woocommerce div.product > .summary,
body.single-product.bovis-woo-template .woocommerce div.product > div.summary,
body.single-product.bovis-woo-template .woocommerce div.product > .woocommerce-tabs,
body.single-product.bovis-woo-template .woocommerce div.product > div.images{
	display:none!important;
	visibility:hidden!important;
}
body.single-product.bovis-woo-template .bovis-v31-product__copy h2 + p,
body.single-product.bovis-woo-template .bovis-v31-product__copy h2 + p + p,
body.single-product.bovis-woo-template .bovis-v31-product__copy h2 + p + p + p{
	position:static!important;
}
@media(max-width:980px){
	body.single-product.bovis-woo-template .bovis-v31-product{
		grid-template-columns:1fr!important;
	}
}
