/* Bonviveur product page — isolated theme draft */
body.single-product { --bv-ink:#29231f; --bv-muted:#766b62; --bv-line:#e5dcd2; --bv-paper:#faf7f2; --bv-accent:#a42b55; --bv-brand:#d85e84; --bv-rose-gradient:linear-gradient(135deg,#c34a74 0%,#b43965 55%,#a42b55 100%); background:var(--bv-paper); }
body.single-product .elementor-location-single { color:var(--bv-ink); }
body.single-product .elementor-6467 > .elementor-section { background:transparent!important; }
body.single-product .elementor-6467 .elementor-element-6153988c { padding:20px 24px 0!important; }
body.single-product .elementor-6467 .page-heading { padding:0!important; margin:0!important; border:0; background:none; }
body.single-product .elementor-6467 .woocommerce-breadcrumb { text-align:left; font-size:12px; color:var(--bv-muted); line-height:1.8; }
body.single-product .elementor-6467 .woocommerce-breadcrumb .title { font:inherit; display:inline; }
body.single-product .elementor-6467 .elementor-element-6a09f9c5 { width:100%!important; left:0!important; padding:30px 24px 56px!important; }
body.single-product .elementor-6467 .elementor-element-6a09f9c5 > .elementor-container { max-width:1180px!important; }
body.single-product .elementor-6467 .elementor-element-77505b { width:100%!important; }
body.single-product .elementor-6467 .elementor-element-77505b > .elementor-widget-wrap { padding:0!important; }
body.single-product .elementor-6467 .elementor-element-301774f5 { display:none!important; }
body.single-product .elementor-6467 .elementor-element-78547185 > .elementor-container { gap:64px; }
body.single-product .elementor-6467 .elementor-element-57b77a40 { width:50%!important; min-width:0; }
body.single-product .elementor-6467 .elementor-element-524e730d { width:calc(50% - 64px)!important; min-width:0; }
body.single-product .elementor-6467 .elementor-element-57b77a40 > .elementor-widget-wrap,
body.single-product .elementor-6467 .elementor-element-524e730d > .elementor-widget-wrap { padding:0!important; align-content:start; }
body.single-product .elementor-6467 .woocommerce-product-gallery { border-radius:14px; overflow:hidden; }
body.single-product .elementor-6467 .woocommerce-product-gallery__image img { width:100%; max-height:680px; object-fit:contain; background:#eee8e0; }
body.single-product .elementor-6467 .onsale { background:var(--bv-accent)!important; border-radius:30px!important; padding:8px 14px!important; font-size:11px!important; font-weight:500!important; top:18px; left:18px; }
body.single-product .elementor-6467 .thumbnails-list img { border-radius:8px; }
body.single-product .elementor-6467 .product_title { font-family:Georgia, 'Times New Roman',serif!important; font-size:clamp(30px,3.2vw,46px)!important; font-weight:400!important; line-height:1.12!important; letter-spacing:-1px!important; color:var(--bv-ink)!important; }
body.single-product .elementor-6467 .elementor-element-49b6fab5 { margin-bottom:18px!important; }
body.single-product .elementor-6467 .elementor-element-1d5ca614 { margin-bottom:26px!important; }
body.single-product .elementor-6467 .price { color:var(--bv-ink)!important; font-size:20px; font-weight:500; line-height:1.5; }
body.single-product .elementor-6467 .price > strong { display:none; }
body.single-product .elementor-6467 .elementor-element-217d10ed { margin-bottom:16px!important; }
body.single-product .elementor-6467 form.cart { margin:0!important; border-top:1px solid var(--bv-line); padding-top:26px; }
body.single-product .elementor-6467 .wpo-options-container { display:grid; grid-template-columns:1fr 1fr; gap:20px 16px; margin-bottom:22px; }
body.single-product .elementor-6467 .wpo-field { margin:0!important; min-width:0; }
body.single-product .elementor-6467 .wpo-field-text,
body.single-product .elementor-6467 .wpo-field-radio { grid-column:1 / -1; }
body.single-product .elementor-6467 .wpo-field-datepicker { grid-column:1 / -1; }
body.single-product .elementor-6467 .wpo-field-price_formula { display:none; }
body.single-product .elementor-6467 .wpo-option-name { margin-bottom:9px!important; font-size:12px!important; font-weight:600!important; letter-spacing:.02em; color:var(--bv-ink)!important; }
body.single-product .elementor-6467 .wpo-field-required-symbol { color:var(--bv-accent); }
body.single-product .elementor-6467 .wpo-field > label { display:none; }
body.single-product .elementor-6467 .wpo-field select,
body.single-product .elementor-6467 .wpo-field input[type="text"] { display:block!important; opacity:1!important; width:100%!important; height:48px!important; padding:12px 14px!important; border:1px solid var(--bv-line)!important; background:#fff!important; border-radius:7px!important; font-size:14px!important; color:var(--bv-ink)!important; box-shadow:none!important; }
body.single-product .elementor-6467 .wpo-field select { padding-right:32px!important; }
body.single-product .elementor-6467 .wpo-field .nice-select { display:none!important; }
body.single-product .elementor-6467 .wpo-field input:focus-visible,
body.single-product .elementor-6467 .wpo-field select:focus-visible { outline:2px solid var(--bv-accent); outline-offset:2px; }
body.single-product .elementor-6467 .wpo-radios { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
body.single-product .elementor-6467 .wpo-radio { display:flex!important; align-items:center; gap:8px; padding:12px 10px!important; border:1px solid var(--bv-line)!important; border-radius:8px; background:#fff; cursor:pointer; margin:0!important; font-size:12px!important; line-height:1.4; transition:border-color .15s,background .15s; }
body.single-product .elementor-6467 .wpo-radio:hover { border-color:var(--bv-accent)!important; }
body.single-product .elementor-6467 .wpo-radio:has(input:checked) { background:linear-gradient(135deg,#fff5f8,#f9e6ee); border-color:var(--bv-brand)!important; }
body.single-product .elementor-6467 .wpo-radio:has(input:focus-visible) { outline:2px solid var(--bv-accent); outline-offset:2px; }
body.single-product .elementor-6467 .wpo-radio .price { display:block; font-size:12px!important; color:var(--bv-muted)!important; font-weight:400; }
body.single-product .elementor-6467 .wpo-radio-inner { flex-shrink:0; width:15px!important; height:15px!important; border-color:var(--bv-accent)!important; }
body.single-product .elementor-6467 .wpo-radio-inner { background:#fff!important; border:1px solid var(--bv-line)!important; }
body.single-product .elementor-6467 .wpo-radio-dot { background:transparent!important; width:7px!important; height:7px!important; border-radius:50%; }
body.single-product .elementor-6467 .wpo-radio input:checked + .wpo-radio-inner .wpo-radio-dot { background:var(--bv-accent)!important; }
body.single-product .elementor-6467 .wpo-field select { appearance:auto!important; }
body.single-product .elementor-6467 .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
body.single-product .elementor-6467 .wpo-totals-container { flex:0 0 100%; width:100%; margin:0!important; }
body.single-product .elementor-6467 .woocommerce-variation-add-to-cart .quantity { flex:0 0 100px; margin:0!important; }
body.single-product .elementor-6467 .woocommerce-variation-add-to-cart > .single_add_to_cart_button:not(.et-single-buy-now) { flex:1; margin:0!important; width:auto!important; }
body.single-product .elementor-6467 .woocommerce-variation-add-to-cart > .et-single-buy-now { flex:0 0 100%; width:100%!important; margin:0!important; }
body.single-product .elementor-6467 .woocommerce-variation-price { margin:10px 0!important; }
body.single-product .elementor-6467 .elementor-element-1d5ca614 .elementor-widget-container { margin:0!important; padding:0!important; }
body.single-product .elementor-6467 .wpo-totals-container { border-top:1px solid var(--bv-line); border-bottom:1px solid var(--bv-line); padding:16px 0; margin:0 0 18px; color:var(--bv-ink); }
body.single-product .elementor-6467 .woocommerce-variation-add-to-cart .quantity { margin-bottom:12px; }
body.single-product .elementor-6467 .single_add_to_cart_button { background:var(--bv-rose-gradient)!important; border:1px solid #bd4770!important; color:#fff!important; min-height:54px!important; border-radius:9px!important; font-size:14px!important; font-weight:600!important; letter-spacing:.02em; text-transform:none!important; box-shadow:0 5px 16px rgba(164,43,85,.14),inset 0 1px 0 rgba(255,255,255,.18)!important; transition:box-shadow .18s ease,transform .18s ease!important; }
body.single-product .elementor-6467 .single_add_to_cart_button:hover { background:linear-gradient(135deg,#b63d67,#982349)!important; box-shadow:0 7px 20px rgba(164,43,85,.22),inset 0 1px 0 rgba(255,255,255,.15)!important; transform:translateY(-1px); }
body.single-product .elementor-6467 .single_add_to_cart_button:focus-visible { outline:2px solid #a42b55!important; outline-offset:4px; }
body.single-product .elementor-6467 .single_add_to_cart_button:active { transform:translateY(0); }
body.single-product .elementor-6467 .single_add_to_cart_button:disabled,
body.single-product .elementor-6467 .single_add_to_cart_button.disabled { box-shadow:none!important; transform:none!important; }
body.single-product .elementor-6467 .et-single-buy-now { background:linear-gradient(135deg,#fff8fa,#fceef3)!important; border:1px solid var(--bv-brand)!important; color:var(--bv-accent)!important; margin-top:10px!important; box-shadow:inset 0 1px 0 #fff!important; }
body.single-product .elementor-6467 .et-single-buy-now:hover { background:var(--bv-rose-gradient)!important; color:#fff!important; }
body.single-product .elementor-6467 .et-or-wrapper { display:none; }
body.single-product .elementor-6467 .sales-booster-safe-checkout { margin-top:12px; opacity:.7; }
body.single-product .elementor-6467 .sales-booster-safe-checkout fieldset { border:0; border-top:1px solid var(--bv-line); padding:14px 0 0; }
body.single-product .elementor-6467 .sales-booster-safe-checkout legend { font-size:10px; letter-spacing:.08em; }
body.single-product .elementor-6467 .sales-booster-safe-checkout .subtitle { font-size:11px; }
body.single-product .elementor-6467 .woocommerce-tabs { padding:32px 0 0!important; margin-top:32px!important; border-top:1px solid var(--bv-line); }
body.single-product .elementor-6467 .woocommerce-tabs .tabs { justify-content:flex-start; gap:28px; border:0; }
body.single-product .elementor-6467 .woocommerce-tabs .tabs a { font-size:13px; text-transform:none; letter-spacing:0; color:var(--bv-ink); }
body.single-product .elementor-6467 .woocommerce-Tabs-panel { padding:24px 0!important; font-size:14px; color:var(--bv-muted); }
body.single-product .elementor-6467 > .elementor-section:last-child { padding:30px 24px 56px!important; border-top:1px solid var(--bv-line); }
body.single-product .elementor-6467 h2.elementor-heading-title { font-family:Georgia,serif!important; font-weight:400!important; color:var(--bv-ink)!important; }
body.single-product .bv-product-eyebrow { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--bv-accent); margin:0 0 14px; }
body.single-product .bv-options-heading { font-family:Georgia,serif; font-size:22px; font-weight:400; margin:0 0 20px; color:var(--bv-ink); }
body.single-product .bv-radius-help { font-size:11px; line-height:1.5; color:var(--bv-muted); margin:6px 0 12px; }
@media(max-width:1024px) {
 body.single-product .elementor-6467 .elementor-element-78547185 > .elementor-container { gap:32px; }
 body.single-product .elementor-6467 .elementor-element-524e730d { width:calc(50% - 32px)!important; }
 body.single-product .elementor-6467 .wpo-radios { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 body.single-product .elementor-6467 .elementor-element-6153988c { padding:16px 20px 0!important; }
 body.single-product .elementor-6467 .elementor-element-6a09f9c5 { padding:20px 20px 36px!important; }
 body.single-product .elementor-6467 .elementor-element-78547185 > .elementor-container { display:flex; flex-direction:column; gap:28px; }
 body.single-product .elementor-6467 .elementor-element-57b77a40,
 body.single-product .elementor-6467 .elementor-element-524e730d { width:100%!important; }
 body.single-product .elementor-6467 .woocommerce-product-gallery__image img { max-height:480px; object-fit:contain; }
 body.single-product .elementor-6467 .product_title { font-size:34px!important; }
 body.single-product .elementor-6467 .wpo-radios { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.single-product .elementor-6467 .woocommerce-tabs .tabs { gap:18px; }
}
@media(max-width:767px) {
 body.single-product .elementor-6467 .wpo-field select,
 body.single-product .elementor-6467 .wpo-field input[type="text"] { font-size:16px!important; }
 body.single-product #wpvibe-preview-banner { padding:10px 12px!important; gap:8px!important; font-size:10px!important; flex-wrap:nowrap!important; }
 body.single-product #wpvibe-preview-banner .wpvibe-info { display:none!important; }
 body.single-product #wpvibe-preview-banner .wpvibe-badge { white-space:nowrap!important; font-size:10px!important; }
 body.single-product #wpvibe-preview-banner .wpvibe-btn { padding:8px!important; font-size:10px!important; white-space:nowrap!important; }
}
/* Product-page help and location footer */
body.single-product .elementor-6458 .elementor-element-1f0f23fb { width:100%!important; left:0!important; padding:64px 32px!important; background:radial-gradient(ellipse at 8% 0%,#fbeaf0 0%,transparent 55%),#faf7f3!important; border-top:1px solid #eadde2; }
body.single-product .elementor-6458 .elementor-element-1f0f23fb > .elementor-container { display:grid!important; grid-template-columns:1fr 1fr; gap:72px; max-width:1180px!important; align-items:center!important; }
body.single-product .elementor-6458 .elementor-element-3418d490,
body.single-product .elementor-6458 .elementor-element-74cd8c07 { width:100%!important; min-width:0; }
body.single-product .elementor-6458 .elementor-element-4c7ec962 { display:none!important; }
body.single-product .elementor-6458 .elementor-element-3418d490 > .elementor-widget-wrap,
body.single-product .elementor-6458 .elementor-element-74cd8c07 > .elementor-widget-wrap { padding:0!important; }
body.single-product .bv-footer-eyebrow { font-size:10px!important; line-height:1.5; letter-spacing:.16em; font-weight:600; color:#a42b55; margin:0 0 16px!important; }
body.single-product .bv-footer-help h2 { font:400 clamp(32px,3vw,44px)/1.13 Georgia,serif!important; letter-spacing:-.8px; color:#30232a; margin:0 0 20px; }
body.single-product .bv-footer-copy { font-size:15px; line-height:1.8; color:#76636b; max-width:390px; margin:0 0 26px; }
body.single-product .bv-footer-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
body.single-product .bv-footer-actions a { min-height:48px; padding:14px 20px; border-radius:8px; font-size:13px; font-weight:600; text-decoration:none; display:inline-flex; gap:20px; align-items:center; justify-content:center; transition:box-shadow .18s,transform .18s; }
body.single-product .bv-footer-whatsapp { color:#fff!important; background:var(--bv-rose-gradient); box-shadow:0 5px 15px #a42b551a,inset 0 1px 0 #ffffff26; border:1px solid #bd4770; }
body.single-product .bv-footer-call { color:#a42b55!important; border:1px solid #dfb6c5; background:#fff9fb; }
body.single-product .bv-footer-actions a:hover { transform:translateY(-1px); box-shadow:0 6px 18px #a42b5525; }
body.single-product .bv-footer-actions a:focus-visible,
body.single-product .bv-footer-directions:focus-visible { outline:2px solid #a42b55; outline-offset:4px; }
body.single-product .bv-footer-contact { display:flex; flex-wrap:wrap; gap:8px 16px; border-top:1px solid #e7d9df; margin-top:28px; padding-top:18px; font-size:12px; color:#76636b; }
body.single-product .bv-footer-contact a { color:#47323b; font-weight:500; }
body.single-product .bv-footer-location-head { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:18px; }
body.single-product .bv-footer-location-head .bv-footer-eyebrow { margin-bottom:6px!important; }
body.single-product .bv-footer-location-head h3 { font:400 26px/1.2 Georgia,serif; color:#30232a; margin:0; }
body.single-product .bv-footer-directions { font-size:12px; font-weight:600; white-space:nowrap; color:#a42b55!important; }
body.single-product .elementor-6458 .elementor-element-9f65d61 { margin:0!important; }
body.single-product .elementor-6458 .elementor-element-b7f144b { margin:0!important; width:100%; }
body.single-product .elementor-6458 .elementor-element-b7f144b .elementor-custom-embed { border:1px solid #e7d9df; border-radius:14px; overflow:hidden; box-shadow:0 8px 28px #46303b0a; }
body.single-product .elementor-6458 .elementor-element-b7f144b iframe { display:block; width:100%!important; height:250px!important; border:0; }
body.single-product .elementor-6458 .elementor-element-6e6081f5 { width:100%!important; left:0!important; padding:20px 24px!important; background:#f5e5eb!important; border-top:1px solid #e7d9df; }
body.single-product .elementor-6458 .elementor-element-6e6081f5 > .elementor-container { max-width:1180px!important; }
body.single-product .elementor-6458 .elementor-element-505a6db0,
body.single-product .elementor-6458 .elementor-element-69ec031c { display:none!important; }
body.single-product .elementor-6458 .elementor-element-49be3826 { width:100%!important; }
body.single-product .elementor-6458 .elementor-element-49be3826 > .elementor-widget-wrap { padding:0!important; }
body.single-product .elementor-6458 .elementor-element-5ca53347 { margin:0!important; }
body.single-product .elementor-6458 .elementor-element-5ca53347 p { margin:0; text-align:center; font-size:11px; letter-spacing:.02em; line-height:1.6; }
body.single-product .elementor-6458 .elementor-element-5ca53347 a { color:#755963!important; }
@media(max-width:1024px) {
 body.single-product .elementor-6458 .elementor-element-1f0f23fb > .elementor-container { gap:32px; }
 body.single-product .bv-footer-location-head { align-items:flex-start; flex-direction:column; gap:10px; }
}
@media(max-width:767px) {
 body.single-product .elementor-6458 .elementor-element-1f0f23fb { padding:40px 22px!important; }
 body.single-product .elementor-6458 .elementor-element-1f0f23fb > .elementor-container { grid-template-columns:1fr; gap:36px; }
 body.single-product .bv-footer-help h2 { font-size:34px!important; }
 body.single-product .bv-footer-location-head { flex-direction:row; align-items:center; }
 body.single-product .bv-footer-actions a { padding:14px 16px; gap:14px; }
 body.single-product .elementor-6458 .elementor-element-b7f144b iframe { height:230px!important; }
}
@media(prefers-reduced-motion:reduce) { body.single-product .elementor-6467 * { transition:none!important; } }
