/* Scoped refinements. Existing headings, content, SEO, photography and palette are preserved. */
body.blasset-refined { --blasset-readable: #514b41; }
body.blasset-refined .blasset-prod-head { gap: 20px; align-items: flex-start; }
body.blasset-refined .blasset-prod-name { min-width: 0; }
body.blasset-refined .blasset-prod-price-box { flex-shrink: 0; }
body.blasset-refined .blasset-prod-sub,
body.blasset-refined .blasset-prod-trust,
body.blasset-refined .blasset-cart-label,
body.blasset-refined .blasset-pprice-lbl { color: var(--blasset-readable) !important; }
body.blasset-refined .blasset-size-guide { padding: 24px !important; box-sizing: border-box; }
body.blasset-refined .blasset-size-group { overflow-x: auto; margin: 24px 0; }
body.blasset-refined .blasset-size-table { min-width: 310px; }
body.blasset-refined .blasset-familia-text { color: #ded8cb !important; }
body.blasset-refined .blasset-familia a { color: #f3ead7 !important; border-color: #b9a476 !important; }
body.blasset-refined .site-footer .blasset-footer-col a,
body.blasset-refined .site-footer .blasset-footer-tagline,
body.blasset-refined .site-footer .blasset-footer-company,
body.blasset-refined .site-footer .blasset-footer-company-name,
body.blasset-refined .site-footer .blasset-footer-company-cif,
body.blasset-refined .site-footer .blasset-footer-address,
body.blasset-refined .site-footer .blasset-footer-contact-item { color: #ddd7cd !important; }
body.blasset-refined .site-footer .blasset-footer-bottom,
body.blasset-refined .site-footer .blasset-footer-bottom p,
body.blasset-refined .site-footer .blasset-footer-pay-icon { color: #c8c0b3 !important; }
body.blasset-refined .blasset-newsletter { max-width: 1120px; margin: 0 auto 32px !important; padding: 40px 24px !important; color: #e7e0d5 !important; border-color: #59544b !important; }
body.blasset-refined .blasset-newsletter h2 { color: #faf8f4 !important; font-family: 'Cormorant Garamond',serif; font-size: clamp(28px,3vw,38px); }
body.blasset-refined .blasset-newsletter p,
body.blasset-refined .blasset-newsletter label,
body.blasset-refined .blasset-newsletter a { color: #e7e0d5 !important; }
body.blasset-refined .blasset-newsletter a { text-decoration: underline; }
body.blasset-refined .blasset-newsletter input[type=email] { padding: 14px 16px; min-height: 48px; border: 1px solid #b9ac94; border-radius: 10px; background: #faf8f4; color: #252018; }
body.blasset-refined .blasset-newsletter button { min-height: 48px; padding: 12px 24px; border-radius: 28px; background: #faf8f4; color: #252018; border: 1px solid #faf8f4; }
body.blasset-refined .blasset-newsletter input[type=checkbox] { width: 18px !important; height: 18px !important; vertical-align: middle; margin-right: 8px; accent-color: #a38b55; }
body.blasset-refined.woocommerce-cart .woocommerce .return-to-shop { display: block !important; margin: 24px; text-align: center; }
body.blasset-refined.woocommerce-cart .woocommerce .return-to-shop a { display: inline-flex !important; min-height: 48px; align-items: center; padding: 12px 24px; border-radius: 28px; }
body.blasset-refined.woocommerce-checkout .woocommerce .blasset-checkout-heading { margin: 0 0 28px !important; padding: 16px 0 8px !important; line-height: 1.2; }
body.blasset-refined.woocommerce-checkout table.woocommerce-checkout-review-order-table th,
body.blasset-refined.woocommerce-checkout table.woocommerce-checkout-review-order-table td { background: #faf8f4 !important; color: #252018 !important; border-bottom: 1px solid #ded7ca !important; padding: 16px 12px !important; vertical-align: top; }
body.blasset-refined.woocommerce-checkout table.woocommerce-checkout-review-order-table thead th { background: #eee8dc !important; }
body.blasset-refined.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total th,
body.blasset-refined.woocommerce-checkout table.woocommerce-checkout-review-order-table .order-total td { background: #e6decf !important; font-weight: 700; }
body.blasset-refined.woocommerce-checkout .woocommerce-checkout-review-order-table { border-radius: 12px; overflow: hidden; }
body.blasset-refined.woocommerce-checkout #payment .payment_box { padding: 16px !important; }
body.blasset-refined.woocommerce-checkout .woocommerce-form-login-toggle,
body.blasset-refined.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0 0 16px; }
body.blasset-refined.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.blasset-refined.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { padding-left: 42px !important; }
body.blasset-refined.woocommerce-checkout #order_review_heading { margin-top: 24px !important; }
body.blasset-refined.woocommerce-checkout #blasset-wa-btn,
body.blasset-refined.woocommerce-account #blasset-wa-btn { position: static !important; display: flex !important; width: 48px !important; height: 48px !important; margin: 20px 24px 28px auto !important; transform: none !important; }
body.blasset-refined .blasset-g-dot { padding: 0 !important; border-radius: 50% !important; min-width: 24px; min-height: 24px; width: 24px; height: 24px; }
body.blasset-refined .blasset-g-thumb { flex-shrink: 0; }
@media(max-width:767px){
 body.blasset-refined .blasset-prod-head { display: block !important; }
 body.blasset-refined .blasset-prod-name { width: 100% !important; max-width: none !important; margin-bottom: 12px !important; font-size: 30px !important; line-height: 1.12 !important; }
 body.blasset-refined .blasset-prod-price-box { width: auto !important; text-align: left !important; margin: 0 0 12px !important; }
 body.blasset-refined .blasset-pprice-val { font-size: 24px !important; }
 body.blasset-refined.woocommerce-checkout .woocommerce .blasset-checkout-heading { padding-top: 16px !important; font-size: 32px; }
 body.blasset-refined.woocommerce-checkout .woocommerce { padding-top: 80px !important; padding-left: 20px !important; padding-right: 20px !important; }
 body.blasset-refined.woocommerce-checkout #customer_details { padding-left: 16px !important; padding-right: 16px !important; }
 body.blasset-refined .blasset-cart-hero { padding-top: 110px !important; padding-bottom: 28px !important; }
 body.blasset-refined .blasset-size-guide { padding: 20px !important; }
 body.blasset-refined .blasset-size-table th,body.blasset-refined .blasset-size-table td { font-size: 13px !important; }
 body.blasset-refined .blasset-newsletter { padding: 32px 20px !important; }
 body.blasset-refined .blasset-bn-item { color: #514b41 !important; }
 body.blasset-refined #blasset-wa-btn { bottom: calc(88px + env(safe-area-inset-bottom)) !important; width: 44px !important; height: 44px !important; }
}

/* Notices must clear the fixed header, including the protruding brand mark. */
html:has(body.blasset-refined) { scroll-padding-top: 124px; scroll-padding-bottom: 100px; }
body.blasset-refined .woocommerce-error,
body.blasset-refined .woocommerce-message,
body.blasset-refined .woocommerce-info,
body.blasset-refined input,
body.blasset-refined select,
body.blasset-refined textarea { scroll-margin-top: 124px; scroll-margin-bottom: 100px; }
body.blasset-refined #content > .col-full > .woocommerce:has(> .woocommerce-error, > .woocommerce-message, > .woocommerce-info) {
 margin-top: 124px !important; margin-bottom: 24px !important; padding: 0 20px !important; width: 100%; box-sizing: border-box;
}
body.blasset-refined ul.woocommerce-error > li {
 background: transparent !important; border: 0 !important; box-shadow: none !important;
 padding: 0 !important; margin: 0 !important; border-radius: 0 !important;
 max-width: none !important; width: auto !important; list-style: none !important;
}
body.blasset-refined ul.woocommerce-error > li + li { margin-top: 8px !important; }
body.blasset-refined .woocommerce-error,
body.blasset-refined .woocommerce-info,
body.blasset-refined .woocommerce-message { box-sizing: border-box !important; overflow-wrap: anywhere; }
body.blasset-refined .woocommerce-error::before,
body.blasset-refined .woocommerce-info::before,
body.blasset-refined .woocommerce-message::before { top: 17px !important; transform: none !important; }
body.blasset-refined .woocommerce-NoticeGroup {
 background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important;
 max-width: none !important; width: 100% !important;
}
body.blasset-refined .woocommerce-form-login__rememberme {
 background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important;
}
@media(max-width:767px){
 body.blasset-refined .woocommerce-message .button,
 body.blasset-refined .woocommerce-info .button { float: none !important; display: block !important; margin: 0 0 12px !important; width: fit-content; }
 body.blasset-refined.woocommerce-account input:not([type=checkbox]):not([type=hidden]),
 body.blasset-refined.woocommerce-account select,
 body.blasset-refined.woocommerce-account textarea { font-size: 16px !important; }
}
body.blasset-refined .woocommerce-error a:not(.button),
body.blasset-refined .woocommerce-info a:not(.button),
body.blasset-refined .woocommerce-message a:not(.button) { color: #51412b !important; text-decoration: underline !important; font-weight: 600; }
body.blasset-refined #blasset-cookie-banner { box-sizing: border-box; max-height: calc(100dvh - 112px); overflow-y: auto; }
body.blasset-refined #blasset-cookie-banner > div { display: flex; flex-wrap: wrap; gap: 10px; }
body.blasset-refined #blasset-cookie-banner button { min-height: 44px; margin: 0 !important; }
@media(max-width:767px){
 body.blasset-refined.woocommerce-checkout form.checkout { padding-left: 0 !important; padding-right: 0 !important; }
 body.blasset-refined.woocommerce-checkout #order_review { padding: 20px 12px !important; }
 body.blasset-refined.woocommerce-checkout input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
 body.blasset-refined.woocommerce-checkout select,
 body.blasset-refined.woocommerce-checkout textarea { font-size: 16px !important; }
}

/* Header controls share one layout instead of competing fixed coordinates. */
body.blasset-refined #blassetHeader { gap: 8px; }
body.blasset-refined #blassetHeader .blasset-account-btn-header,
body.blasset-refined #blassetHeader .blasset-cart-btn {
 position: relative !important; inset: auto !important; flex: 0 0 44px;
 width: 44px !important; height: 44px !important; margin: 0 !important;
 display: inline-flex; align-items: center; justify-content: center;
}
body.blasset-refined #blassetHeader .blasset-account-btn-header svg,
body.blasset-refined #blassetHeader .blasset-cart-btn svg { width: 22px !important; height: 22px !important; flex-shrink: 0; }
body.blasset-refined #blassetHeader .blasset-ham { flex-shrink: 0; }
body.blasset-refined.woocommerce-cart .entry-content > .woocommerce:has(.wc-empty-cart-message) {
 padding: 124px 20px 56px !important; margin: 0 auto !important; box-sizing: border-box;
}
body.blasset-refined.woocommerce-cart .wc-empty-cart-message { max-width: 640px; margin: 0 auto; }
body.blasset-refined.woocommerce-cart .wc-empty-cart-message .cart-empty { margin-top: 0 !important; }
body.blasset-refined.woocommerce-cart .return-to-shop a.button { border-radius: 28px !important; }
/* Grid tracks may shrink without pushing the last column outside the viewport. */
body.blasset-refined .blasset-footer-wrap { width: 100%; max-width: 1440px !important; margin-inline: auto; box-sizing: border-box; }
body.blasset-refined .blasset-footer-grid { grid-template-columns: minmax(0,1fr) !important; }
body.blasset-refined .blasset-footer-grid > * { min-width: 0; overflow-wrap: anywhere; }
body.blasset-refined .blasset-footer-bottom { display: flex; flex-wrap: wrap; gap: 20px; }
body.blasset-refined .blasset-footer-bottom > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
body.blasset-refined .blasset-footer-payments { flex-wrap: wrap; }
@media(min-width:600px){body.blasset-refined .blasset-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }}
@media(min-width:1100px){body.blasset-refined .blasset-footer-grid { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) !important; }}
@media(max-width:767px){
 body.blasset-refined #blassetHeader .blasset-account-btn-header { margin-left: auto !important; }
 body.blasset-refined #blassetHeader { padding-right: 16px !important; gap: 4px; }
}
body.blasset-refined #blassetLightbox {
 padding: 64px 16px !important; box-sizing: border-box; overflow: hidden !important;
 width: 100% !important; height: 100dvh !important; max-width: 100% !important; max-height: 100dvh !important;
}
body.blasset-refined #blassetLightbox > img { max-width: 100% !important; max-height: 100% !important; width: auto; height: auto; object-fit: contain; }
body.blasset-refined #blassetLightbox .blasset-lb-close { padding: 0 !important; width: 44px !important; height: 44px !important; top: 12px !important; right: 12px !important; display: flex; align-items: center; justify-content: center; }
body.blasset-refined #blassetLightbox .blasset-lb-prev,
body.blasset-refined #blassetLightbox .blasset-lb-next { min-width: 44px; min-height: 44px; background: rgba(0,0,0,.5) !important; }
body.blasset-refined #blassetHeader .blasset-cart-btn,
body.blasset-refined #blassetHeader .blasset-account-btn-header { color: #252018 !important; }
body.blasset-refined #blassetHeader .blasset-cart-btn svg { color: #252018 !important; stroke: #252018 !important; }
