/* WordPress / Divi integration. Page headers and footers are intentionally NOT embedded in page bodies. */
.abm-managed-page #main-content{background:var(--cream)}
.abm-managed-page #main-content>.container,.abm-managed-page .et-l--post>.et_builder_inner_content{width:100%;max-width:none;padding:0}
.abm-managed-page #left-area{width:100%;padding:0!important}
.abm-managed-page #sidebar{display:none}
.abm-managed-page .container:before{display:none!important}
.abm-managed-page article.page{margin:0;padding:0}
.abm-divi-raw-section.et_pb_section{padding:0!important;background:transparent!important}
.abm-divi-raw-row.et_pb_row{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}
.abm-divi-raw-row>.et_pb_column{padding:0!important}
.abm-divi-raw-section .et_pb_code,.abm-divi-raw-section .et_pb_code_inner{margin:0!important;padding:0!important}
.abm-divi-raw-section .et_pb_module{margin-bottom:0!important}

/* Theme Builder global shell */
.abm-global-header-section.et_pb_section,.abm-global-footer-section.et_pb_section{padding:0!important;background:transparent!important}
.abm-global-header-section .et_pb_row,.abm-global-footer-section .et_pb_row{width:100%!important;max-width:100%!important;padding:0!important}
.abm-global-header-section .et_pb_code,.abm-global-footer-section .et_pb_code{margin:0!important}
.abm-global-header .mobile-menu{display:none}
.abm-global-header .mobile-menu.open{display:grid}

/* Contact Form 7 adopts the v5 form system. */
.wpcf7{margin:0}
.wpcf7-form p{margin:0}
.wpcf7-form .wpcf7-form-control-wrap{display:block;width:100%}
.wpcf7-form input[type=text],.wpcf7-form input[type=email],.wpcf7-form input[type=tel],.wpcf7-form input[type=url],.wpcf7-form input[type=date],.wpcf7-form select,.wpcf7-form textarea{width:100%;border:1px solid rgba(75,38,99,.16);background:#fffaf8;border-radius:15px;padding:14px 15px;color:var(--ink);outline:none;transition:.2s}
.wpcf7-form textarea{min-height:145px;resize:vertical}
.wpcf7-form input:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{border-color:var(--orchid);box-shadow:0 0 0 4px rgba(168,120,193,.12)}
.wpcf7-form .wpcf7-submit{border:0;background:linear-gradient(135deg,#7c2e69,#a64578 58%,#d26742);color:#fff;box-shadow:0 15px 34px rgba(100,36,81,.24);border-radius:999px;padding:14px 24px;font-weight:800;cursor:pointer}
.wpcf7-form .wpcf7-submit:hover{transform:translateY(-2px)}
.wpcf7-response-output{margin:20px 0 0!important;border-radius:14px;padding:14px 16px!important;font-size:.85rem}
.wpcf7-not-valid-tip{font-size:.72rem;margin-top:5px}
.abm-form-setup-note{padding:18px 20px;border-radius:16px;background:#fff4e8;border:1px solid #efd3ad;color:#6a4b31}

/* WooCommerce: branded shell without replacing native payment/cart logic. */
.abm-woo-page #main-content{background:linear-gradient(180deg,#fff9f6 0,#f8edf3 42%,#fffaf7 100%);min-height:70vh}
.abm-woo-page #main-content>.container{width:min(calc(100% - 42px),1240px);max-width:1240px;padding-top:0}
.abm-woo-page #left-area{width:100%;padding:0!important}
.abm-woo-page #sidebar{display:none}
.abm-woo-page #main-content .container:before{display:none!important}
.abm-woo-hero{position:relative;overflow:hidden;padding:82px 0 72px;background:radial-gradient(circle at 85% 20%,rgba(204,96,72,.25),transparent 30%),radial-gradient(circle at 12% 70%,rgba(122,47,105,.2),transparent 30%),linear-gradient(135deg,#120910,#35132d 58%,#170b14);color:#fff;border-bottom:1px solid rgba(214,171,89,.28)}
.abm-woo-hero:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(214,171,89,.18);border-radius:50%;right:-200px;top:-260px;box-shadow:0 0 0 70px rgba(214,171,89,.02),0 0 0 140px rgba(214,171,89,.015)}
.abm-woo-hero .container{position:relative;z-index:2}
.abm-woo-hero .eyebrow{color:#e7c89a}
.abm-woo-hero h1{color:#fff!important;font-size:clamp(3.4rem,6vw,6.6rem);max-width:920px;margin:10px 0 16px}
.abm-woo-hero p{max-width:760px;color:#d9cbd4;font-size:1.05rem}
.abm-woo-page .woocommerce{padding:72px 0 100px}
.abm-woo-page .woocommerce-notices-wrapper{margin-bottom:20px}
.abm-woo-page .woocommerce-message,.abm-woo-page .woocommerce-info,.abm-woo-page .woocommerce-error{border:0!important;border-left:4px solid var(--gold)!important;border-radius:16px;background:#fff!important;color:var(--deep)!important;box-shadow:0 12px 35px rgba(44,18,37,.08);padding:18px 20px!important}
.abm-woo-page .woocommerce a.button,.abm-woo-page .woocommerce button.button,.abm-woo-page .woocommerce input.button,.abm-woo-page .woocommerce #respond input#submit{background:linear-gradient(135deg,#7c2e69,#a64578 58%,#d26742)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:14px 22px!important;font-weight:800!important;line-height:1.2!important}
.abm-woo-page .woocommerce a.button:after,.abm-woo-page .woocommerce button.button:after{display:none!important}
.abm-woo-page .woocommerce a.button:hover,.abm-woo-page .woocommerce button.button:hover,.abm-woo-page .woocommerce input.button:hover{filter:brightness(1.05);transform:translateY(-1px)}

/* Single product / donation */
.abm-woo-page.single-product div.product{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:start;background:#fff;border:1px solid rgba(84,38,74,.1);border-radius:38px;padding:48px;box-shadow:0 30px 90px rgba(34,14,30,.14);overflow:visible}
.abm-woo-page.single-product div.product:before,.abm-woo-page.single-product div.product:after{display:none!important}
.abm-woo-page.single-product div.product .woocommerce-product-gallery,.abm-woo-page.single-product div.product .summary{float:none!important;width:auto!important;margin:0!important}
.abm-woo-page.single-product div.product .woocommerce-product-gallery{background:radial-gradient(circle at 45% 30%,rgba(187,108,164,.2),transparent 43%),linear-gradient(145deg,#160c13,#4d1e3e);border-radius:30px;padding:28px;min-height:380px;display:grid;place-items:center}
.abm-woo-page.single-product div.product .woocommerce-product-gallery img{border-radius:18px}
.abm-woo-page.single-product div.product .summary.entry-summary{padding:8px 0}
.abm-woo-page.single-product .product_title{font-size:clamp(3rem,5vw,5.1rem)!important;color:var(--deep)!important;letter-spacing:-.04em;margin-bottom:12px!important}
.abm-woo-page.single-product p.price,.abm-woo-page.single-product span.price{font-family:"Cormorant Garamond",serif;color:var(--copper)!important;font-size:2.2rem!important;font-weight:700}
.abm-woo-page.single-product .woocommerce-product-details__short-description{color:#655963;font-size:1rem;line-height:1.8;margin:20px 0}
.abm-woo-page.single-product form.cart{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin:24px 0!important;padding:24px;border-radius:22px;background:#fff7f3;border:1px solid #eedbd4}
.abm-woo-page.single-product form.cart .quantity{float:none!important;margin:0!important}
.abm-woo-page.single-product form.cart input.qty{width:110px!important;min-height:50px;border:1px solid #dcc7cf;border-radius:14px;background:#fff;font-weight:800;font-size:1.05rem}
.abm-woo-page.single-product form.cart .single_add_to_cart_button{min-height:50px;padding:14px 28px!important}
.abm-donation-presets{width:100%;display:grid;gap:8px;margin-bottom:6px}
.abm-donation-presets>span{text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;font-weight:800;color:var(--plum)}
.abm-preset-buttons{display:flex;flex-wrap:wrap;gap:8px}
.abm-preset-buttons button{border:1px solid #d9c2cf;background:#fff;color:var(--deep);border-radius:999px;padding:9px 16px;font-weight:800;cursor:pointer}
.abm-preset-buttons button:hover,.abm-preset-buttons button.active{background:var(--deep);color:#fff;border-color:var(--deep)}
.abm-donation-presets small{color:var(--muted)}
.abm-donation-explainer{margin:24px 0 0;padding:20px 22px;border-radius:20px;background:linear-gradient(135deg,#251122,#4d1e3e);color:#e8dce4}
.abm-donation-explainer strong{display:block;color:#fff;font-family:"Cormorant Garamond",serif;font-size:1.7rem;margin-bottom:4px}
.abm-donation-explainer p{margin:0}
.abm-woo-page.single-product .product_meta{font-size:.75rem;color:var(--muted);margin-top:18px}
.abm-woo-page.single-product .woocommerce-tabs{grid-column:1/-1;margin-top:12px;background:#fffaf8;border-radius:26px;padding:28px;border:1px solid rgba(84,38,74,.1)}
.abm-woo-page.single-product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 20px!important}
.abm-woo-page.single-product .woocommerce-tabs ul.tabs:before{border-color:var(--line)!important}
.abm-woo-page.single-product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;border-radius:999px!important}
.abm-woo-page.single-product .woocommerce-tabs ul.tabs li.active{background:var(--blush)!important}
.abm-woo-page.single-product .related.products{grid-column:1/-1;margin-top:30px}
.abm-woo-page.single-product .related.products>h2{font-size:3rem;margin-bottom:24px}

/* Cart */
.abm-woo-page .woocommerce-cart-form,.abm-woo-page .cart_totals,.abm-woo-page .woocommerce-checkout-review-order,.abm-woo-page form.checkout,.abm-woo-page .woocommerce-MyAccount-navigation,.abm-woo-page .woocommerce-MyAccount-content{background:#fff;border:1px solid rgba(84,38,74,.1);border-radius:28px;box-shadow:0 20px 60px rgba(34,14,30,.09)}
.abm-woo-page .woocommerce-cart-form{padding:24px;overflow:hidden}
.abm-woo-page table.shop_table{border:0!important;border-radius:18px!important;overflow:hidden;background:#fff}
.abm-woo-page table.shop_table th{background:#f8edf3;color:var(--deep);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}
.abm-woo-page table.shop_table td,.abm-woo-page table.shop_table th{border-color:#eee2e8!important;padding:16px!important}
.abm-woo-page .cart_totals{padding:28px!important}
.abm-woo-page .cart_totals h2{font-size:2.6rem}
.abm-woo-page .wc-proceed-to-checkout a.checkout-button{width:100%;text-align:center;padding:17px 24px!important}

/* Checkout */
.abm-woo-page form.checkout{padding:36px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:46px}
.abm-woo-page form.checkout #customer_details,.abm-woo-page form.checkout #order_review_heading,.abm-woo-page form.checkout #order_review{float:none!important;width:auto!important}
.abm-woo-page form.checkout #order_review_heading,.abm-woo-page form.checkout #order_review{grid-column:2}
.abm-woo-page form.checkout #order_review_heading{grid-row:1;align-self:start;margin-top:0}
.abm-woo-page form.checkout #order_review{grid-row:1/span 2;margin-top:56px;background:#fff8f4;border-radius:22px;padding:22px;border:1px solid #eedfd8}
.abm-woo-page form.checkout #customer_details{grid-column:1;grid-row:1/span 3}
.abm-woo-page .woocommerce-billing-fields>h3,.abm-woo-page .woocommerce-shipping-fields h3,.abm-woo-page #order_review_heading{font-size:2.6rem}
.abm-woo-page .form-row label{font-weight:800;font-size:.75rem;color:var(--deep)}
.abm-woo-page .input-text,.abm-woo-page select,.abm-woo-page .select2-container .select2-selection--single{border:1px solid rgba(75,38,99,.16)!important;background:#fffaf8!important;border-radius:14px!important;min-height:48px;padding:10px 13px!important}
.abm-woo-page .select2-container .select2-selection--single .select2-selection__rendered{line-height:28px!important}
.abm-woo-page #payment{background:#f5eaf0!important;border-radius:18px!important}
.abm-woo-page #payment div.payment_box{background:#fff!important;border-radius:14px!important}

/* My Account */
.abm-woo-page .woocommerce-MyAccount-navigation{float:left!important;width:28%!important;padding:22px}
.abm-woo-page .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0}
.abm-woo-page .woocommerce-MyAccount-navigation li a{display:block;padding:12px 14px;border-radius:12px;font-weight:800}
.abm-woo-page .woocommerce-MyAccount-navigation li.is-active a,.abm-woo-page .woocommerce-MyAccount-navigation li a:hover{background:var(--blush);color:var(--plum)}
.abm-woo-page .woocommerce-MyAccount-content{float:right!important;width:69%!important;padding:30px}

/* Product archive */
.abm-woo-page ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.abm-woo-page ul.products:before,.abm-woo-page ul.products:after{display:none!important}
.abm-woo-page ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid rgba(84,38,74,.1);border-radius:24px;padding:18px;box-shadow:0 16px 45px rgba(34,14,30,.08)}
.abm-woo-page ul.products li.product img{border-radius:16px}
.abm-woo-page ul.products li.product .woocommerce-loop-product__title{font-family:"Cormorant Garamond",serif;font-size:1.8rem!important;color:var(--deep)}
.abm-woo-page ul.products li.product .price{color:var(--copper)!important;font-weight:800}

@media(max-width:980px){
  .abm-woo-page.single-product div.product{grid-template-columns:1fr;padding:30px}
  .abm-woo-page.single-product .woocommerce-tabs,.abm-woo-page.single-product .related.products{grid-column:auto}
  .abm-woo-page form.checkout{grid-template-columns:1fr;padding:28px}
  .abm-woo-page form.checkout #customer_details,.abm-woo-page form.checkout #order_review_heading,.abm-woo-page form.checkout #order_review{grid-column:1!important;grid-row:auto!important;margin-top:0}
  .abm-woo-page .woocommerce-MyAccount-navigation,.abm-woo-page .woocommerce-MyAccount-content{float:none!important;width:100%!important;margin-bottom:20px}
  .abm-woo-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .abm-woo-hero{padding:60px 0 54px}
  .abm-woo-page #main-content>.container{width:min(calc(100% - 28px),1240px)}
  .abm-woo-page .woocommerce{padding:48px 0 74px}
  .abm-woo-page.single-product div.product{padding:20px;border-radius:24px;gap:30px}
  .abm-woo-page.single-product div.product .woocommerce-product-gallery{min-height:260px;padding:18px}
  .abm-woo-page ul.products{grid-template-columns:1fr}
  .abm-woo-page .woocommerce-cart-form{padding:12px;overflow-x:auto}
}


/* ==========================================================
   v1.0.1 live-site hardening
   - Keep the Theme Builder shell immune to Divi/Woo width rules.
   - Remove the flyer badge/floater from the approved home hero.
   - Override legacy checkout CSS after the theme loads.
   ========================================================== */

/* Approved change: the flyer already says 2nd Annual Fashion Show. */
.flyer-badge{display:none!important}

/* Global header/footer: stop WooCommerce, Divi, or old child-theme rules from
   shrinking/reformatting the approved shell. */
.abm-global-header .container,
.abm-global-footer .container{
  width:min(calc(100% - 42px),1240px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.abm-global-header .nav{width:min(calc(100% - 42px),1240px)!important;max-width:1240px!important;margin:0 auto!important}
.abm-global-header .brand-icon{width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.abm-global-footer .footer-brand-logo{width:100%!important;height:auto!important;max-width:none!important;margin:0!important;padding:0!important}
.abm-global-header-section .et_pb_code,
.abm-global-header-section .et_pb_code_inner,
.abm-global-footer-section .et_pb_code,
.abm-global-footer-section .et_pb_code_inner{width:100%!important;max-width:none!important;padding:0!important;margin:0!important}

/* Checkout reset. The live demo had older checkout CSS winning against the
   plugin. These rules intentionally use checkout/body specificity + important. */
body.woocommerce-checkout.abm-woo-page #main-content{
  background:linear-gradient(180deg,#fffaf7 0%,#fff 38%,#fffaf7 100%)!important;
}
body.woocommerce-checkout.abm-woo-page #main-content>.container{
  width:min(calc(100% - 42px),1240px)!important;
  max-width:1240px!important;
}
body.woocommerce-checkout.abm-woo-page .woocommerce{
  color:var(--ink)!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:36px 0!important;
  align-items:start;
}
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details{
  background:#fff!important;
  border:1px solid rgba(84,38,74,.10)!important;
  border-radius:28px!important;
  box-shadow:0 20px 60px rgba(34,14,30,.08)!important;
  padding:34px!important;
}
body.woocommerce-checkout.abm-woo-page .woocommerce-billing-fields>h3,
body.woocommerce-checkout.abm-woo-page .woocommerce-additional-fields>h3,
body.woocommerce-checkout.abm-woo-page #order_review_heading{
  color:var(--deep)!important;
  background:transparent!important;
}
body.woocommerce-checkout.abm-woo-page .form-row label,
body.woocommerce-checkout.abm-woo-page .form-row label span,
body.woocommerce-checkout.abm-woo-page .woocommerce-billing-fields label,
body.woocommerce-checkout.abm-woo-page .woocommerce-additional-fields label{
  color:var(--deep)!important;
  background:transparent!important;
}
body.woocommerce-checkout.abm-woo-page .input-text,
body.woocommerce-checkout.abm-woo-page input[type=text],
body.woocommerce-checkout.abm-woo-page input[type=email],
body.woocommerce-checkout.abm-woo-page input[type=tel],
body.woocommerce-checkout.abm-woo-page textarea,
body.woocommerce-checkout.abm-woo-page select,
body.woocommerce-checkout.abm-woo-page .select2-container .select2-selection--single{
  color:var(--ink)!important;
  background:#fffaf8!important;
  border:1px solid rgba(75,38,99,.16)!important;
  box-shadow:none!important;
}
body.woocommerce-checkout.abm-woo-page input::placeholder,
body.woocommerce-checkout.abm-woo-page textarea::placeholder{color:#8a7d86!important;opacity:1!important}

/* Coupon notice - do not let legacy CSS turn it into an unreadable black bar. */
body.woocommerce-checkout.abm-woo-page .woocommerce-form-coupon-toggle .woocommerce-info,
body.woocommerce-checkout.abm-woo-page .woocommerce-form-login-toggle .woocommerce-info{
  background:linear-gradient(135deg,#fff,#fff7f3)!important;
  color:var(--deep)!important;
  border:1px solid rgba(84,38,74,.11)!important;
  border-left:4px solid var(--gold)!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(44,18,37,.08)!important;
}
body.woocommerce-checkout.abm-woo-page .woocommerce-form-coupon-toggle .woocommerce-info a,
body.woocommerce-checkout.abm-woo-page .woocommerce-form-login-toggle .woocommerce-info a{
  color:var(--plum)!important;
  font-weight:800!important;
  text-decoration:underline!important;
}

/* Order review card */
body.woocommerce-checkout.abm-woo-page form.checkout #order_review_heading{
  margin:0 0 14px!important;
  padding:0!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #order_review{
  margin-top:56px!important;
  background:#f7f2f4!important;
  border:1px solid rgba(84,38,74,.09)!important;
  border-radius:26px!important;
  padding:26px!important;
  box-shadow:0 18px 55px rgba(34,14,30,.08)!important;
  color:var(--ink)!important;
}
body.woocommerce-checkout.abm-woo-page #order_review table,
body.woocommerce-checkout.abm-woo-page #order_review table th,
body.woocommerce-checkout.abm-woo-page #order_review table td{
  color:var(--ink)!important;
}

/* Payment card. Stripe/Link may render its secure control in an iframe, but
   all Woo labels/privacy copy surrounding it remain fully readable. */
body.woocommerce-checkout.abm-woo-page #payment,
body.woocommerce-checkout.abm-woo-page .woocommerce-checkout #payment,
body.woocommerce-checkout.abm-woo-page #order_review #payment{
  background:linear-gradient(145deg,#160c13,#34132b 62%,#10080e)!important;
  color:#fff!important;
  border:1px solid rgba(214,171,89,.20)!important;
  border-radius:22px!important;
  padding:26px!important;
  box-shadow:0 20px 50px rgba(28,8,23,.20)!important;
}
body.woocommerce-checkout.abm-woo-page #payment ul.payment_methods{
  background:transparent!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
  padding:0 0 20px!important;
  margin:0 0 20px!important;
}
body.woocommerce-checkout.abm-woo-page #payment ul.payment_methods li,
body.woocommerce-checkout.abm-woo-page #payment ul.payment_methods li label,
body.woocommerce-checkout.abm-woo-page #payment ul.payment_methods li p,
body.woocommerce-checkout.abm-woo-page #payment .payment_method_stripe,
body.woocommerce-checkout.abm-woo-page #payment .payment_method_woocommerce_payments,
body.woocommerce-checkout.abm-woo-page #payment .payment_box,
body.woocommerce-checkout.abm-woo-page #payment .payment_box p,
body.woocommerce-checkout.abm-woo-page #payment .payment_box span,
body.woocommerce-checkout.abm-woo-page #payment .payment_box label{
  color:#fff!important;
}
body.woocommerce-checkout.abm-woo-page #payment div.payment_box{
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
body.woocommerce-checkout.abm-woo-page #payment div.payment_box:before{border-bottom-color:rgba(255,255,255,.07)!important}
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-privacy-policy-text,
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-privacy-policy-text p,
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-terms-and-conditions-wrapper p{
  color:#eadfe8!important;
  background:transparent!important;
  opacity:1!important;
}
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-privacy-policy-text a,
body.woocommerce-checkout.abm-woo-page #payment .woocommerce-terms-and-conditions-wrapper a{
  color:#f2c36e!important;
  text-decoration:underline!important;
}
body.woocommerce-checkout.abm-woo-page #payment .form-row.place-order{
  background:transparent!important;
  color:#eadfe8!important;
  padding:18px 0 0!important;
  margin:0!important;
}
body.woocommerce-checkout.abm-woo-page #payment #place_order{
  float:none!important;
  width:100%!important;
  min-height:52px!important;
  margin-top:18px!important;
  background:linear-gradient(135deg,#8b306f,#b3487d 56%,#df7143)!important;
  color:#fff!important;
  opacity:1!important;
  box-shadow:0 14px 32px rgba(139,48,111,.28)!important;
}

/* Product pages: protect the shell and give Woo's main product area a clean,
   independent canvas without leaking into Theme Builder header/footer. */
body.single-product.abm-woo-page .et-l--header,
body.single-product.abm-woo-page .et-l--footer{width:100%!important;max-width:none!important}
body.single-product.abm-woo-page .et-l--header .et_pb_section,
body.single-product.abm-woo-page .et-l--footer .et_pb_section,
body.single-product.abm-woo-page .et-l--header .et_pb_row,
body.single-product.abm-woo-page .et-l--footer .et_pb_row{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
}

@media(max-width:980px){
  body.woocommerce-checkout.abm-woo-page form.checkout{padding:24px 0!important}
  body.woocommerce-checkout.abm-woo-page form.checkout #customer_details{padding:26px!important}
  body.woocommerce-checkout.abm-woo-page form.checkout #order_review{margin-top:0!important}
}
@media(max-width:700px){
  .abm-global-header .container,.abm-global-footer .container,.abm-global-header .nav{width:min(calc(100% - 28px),1240px)!important}
  body.woocommerce-checkout.abm-woo-page #main-content>.container{width:min(calc(100% - 28px),1240px)!important}
  body.woocommerce-checkout.abm-woo-page form.checkout #customer_details{padding:20px!important;border-radius:22px!important}
  body.woocommerce-checkout.abm-woo-page form.checkout #order_review{padding:18px!important;border-radius:22px!important}
  body.woocommerce-checkout.abm-woo-page #payment{padding:20px!important}
}

/* ==========================================================
   v1.0.2 Contact Form 7 integration
   - All visitor forms stay editable in Contact Form 7.
   - Supports both legacy numeric CF7 IDs and modern hash IDs.
   - Styles client-owned legacy forms even when they do not use ABM wrappers.
   ========================================================== */
.abm-cf7-mount .wpcf7{width:100%;margin:0!important}
.abm-cf7-mount .wpcf7-form{width:100%;color:var(--ink)}
.abm-cf7-mount .wpcf7-form>p{margin:0 0 18px!important}
.abm-cf7-mount .wpcf7-form label{display:block;color:var(--deep);font-size:.78rem;font-weight:800;line-height:1.45}
.abm-cf7-mount .wpcf7-form label .wpcf7-form-control-wrap{margin-top:7px}
.abm-cf7-mount .wpcf7-form input[type=text],
.abm-cf7-mount .wpcf7-form input[type=email],
.abm-cf7-mount .wpcf7-form input[type=tel],
.abm-cf7-mount .wpcf7-form input[type=url],
.abm-cf7-mount .wpcf7-form input[type=date],
.abm-cf7-mount .wpcf7-form input[type=number],
.abm-cf7-mount .wpcf7-form select,
.abm-cf7-mount .wpcf7-form textarea{
  display:block;width:100%!important;max-width:none!important;box-sizing:border-box;
  border:1px solid rgba(75,38,99,.16)!important;background:#fffaf8!important;
  border-radius:15px!important;padding:14px 15px!important;color:var(--ink)!important;
  font:inherit;outline:none;box-shadow:none!important;
}
.abm-cf7-mount .wpcf7-form textarea{min-height:150px;resize:vertical}
.abm-cf7-mount .wpcf7-form input:focus,
.abm-cf7-mount .wpcf7-form select:focus,
.abm-cf7-mount .wpcf7-form textarea:focus{border-color:var(--orchid)!important;box-shadow:0 0 0 4px rgba(168,120,193,.12)!important}
.abm-cf7-mount .wpcf7-list-item{margin:0 12px 8px 0}
.abm-cf7-mount .wpcf7-list-item label{display:inline-flex;align-items:flex-start;gap:8px;font-weight:600;color:var(--muted)}
.abm-cf7-mount input[type=checkbox],.abm-cf7-mount input[type=radio]{accent-color:var(--plum);margin-top:3px}
.abm-cf7-mount .wpcf7-submit{display:inline-flex!important;align-items:center;justify-content:center;min-height:48px;border:0!important;background:linear-gradient(135deg,#7c2e69,#a64578 58%,#d26742)!important;color:#fff!important;box-shadow:0 15px 34px rgba(100,36,81,.24)!important;border-radius:999px!important;padding:14px 28px!important;font-weight:800!important;cursor:pointer}
.abm-cf7-mount .wpcf7-spinner{vertical-align:middle}
.abm-cf7-mount .wpcf7-response-output{margin:20px 0 0!important;border-radius:14px;padding:14px 16px!important;font-size:.85rem}
.abm-cf7-mount .wpcf7-not-valid-tip{display:block;color:#9b2945;font-size:.72rem;margin-top:6px}
.abm-cf7-mount .abm-cf7-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.abm-cf7-mount .abm-cf7-grid .field{min-width:0}
.abm-cf7-mount .abm-cf7-grid .field.full{grid-column:1/-1}
@media(max-width:700px){.abm-cf7-mount .abm-cf7-grid{grid-template-columns:1fr}.abm-cf7-mount .abm-cf7-grid .field.full{grid-column:auto}}

/* ==========================================================
   v1.0.3 WooCommerce normalization
   Product pages + one-column checkout + Debbie book promotion.
   ========================================================== */

/* Force Theme Builder shell to escape any Woo/product container width. */
body.single-product.abm-woo-page .et-l--header,
body.single-product.abm-woo-page .et-l--footer{
  position:relative!important;
  left:50%!important;
  right:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
}
body.single-product.abm-woo-page .et-l--header .et_builder_inner_content,
body.single-product.abm-woo-page .et-l--footer .et_builder_inner_content,
body.single-product.abm-woo-page .et-l--header .et_pb_section,
body.single-product.abm-woo-page .et-l--footer .et_pb_section{
  width:100%!important;
  max-width:none!important;
}
body.single-product.abm-woo-page .et-l--header .et_pb_row,
body.single-product.abm-woo-page .et-l--footer .et_pb_row{
  width:100%!important;
  max-width:none!important;
  padding-left:0!important;
  padding-right:0!important;
}

/* Woo single-product canvas: neutralize Divi sidebar/product width leakage. */
body.single-product.abm-woo-page #main-content>.container{
  width:min(calc(100% - 42px),1240px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.single-product.abm-woo-page #left-area{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
body.single-product.abm-woo-page #sidebar{display:none!important}
body.single-product.abm-woo-page #main-content .container:before{display:none!important}
body.single-product.abm-woo-page .woocommerce{width:100%!important;max-width:none!important}
body.single-product.abm-woo-page div.product{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  gap:54px!important;
}
body.single-product.abm-woo-page div.product .summary.entry-summary{min-width:0!important;width:100%!important}
body.single-product.abm-woo-page .product_title{
  font-size:clamp(2.7rem,4.5vw,4.65rem)!important;
  line-height:.94!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
body.single-product.abm-woo-page .woocommerce-breadcrumb{
  margin:0 0 28px!important;
  font-size:.72rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#785f70!important;
}
body.single-product.abm-woo-page .woocommerce-product-gallery{width:100%!important;max-width:420px!important}
body.single-product.abm-woo-page .woocommerce-product-gallery__wrapper{width:100%!important}
body.single-product.abm-woo-page .woocommerce-product-gallery img{width:100%!important;height:auto!important;object-fit:contain!important}

/* Product purchase actions: Add to Cart + direct checkout. */
body.single-product.abm-woo-page form.cart{
  align-items:center!important;
  gap:12px!important;
}
body.single-product.abm-woo-page form.cart .single_add_to_cart_button,
body.single-product.abm-woo-page form.cart .abm-checkout-now{
  min-height:52px!important;
  border-radius:999px!important;
  padding:15px 24px!important;
  font-weight:900!important;
  letter-spacing:.03em!important;
}
body.single-product.abm-woo-page form.cart .abm-checkout-now{
  background:#23101e!important;
  color:#fff!important;
  border:1px solid rgba(214,171,89,.34)!important;
  box-shadow:0 12px 28px rgba(35,16,30,.18)!important;
}
body.single-product.abm-woo-page form.cart .abm-checkout-now:hover{
  background:#35172d!important;
  transform:translateY(-1px)!important;
}

/* One-column checkout. Woo remains native; only presentation is normalized. */
body.woocommerce-checkout.abm-woo-page form.checkout{
  display:block!important;
  width:min(100%,920px)!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:34px 0 70px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details,
body.woocommerce-checkout.abm-woo-page form.checkout #order_review_heading,
body.woocommerce-checkout.abm-woo-page form.checkout #order_review{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details{
  display:block!important;
  margin:0 0 30px!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details.abm-checkout-empty,
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details:has(.col-1:empty):has(.col-2:empty){
  display:none!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details .col-1,
body.woocommerce-checkout.abm-woo-page form.checkout #customer_details .col-2{
  float:none!important;
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #order_review_heading{
  display:block!important;
  margin:0 0 14px!important;
}
body.woocommerce-checkout.abm-woo-page form.checkout #order_review{
  display:block!important;
  margin:0!important;
  padding:26px!important;
  background:#f7f2f4!important;
  border:1px solid rgba(84,38,74,.09)!important;
  border-radius:28px!important;
  box-shadow:0 20px 60px rgba(34,14,30,.08)!important;
}
body.woocommerce-checkout.abm-woo-page #order_review .woocommerce-checkout-review-order-table{
  display:table!important;
  width:100%!important;
  margin:0 0 26px!important;
  background:#fff!important;
  border-radius:20px!important;
  overflow:hidden!important;
}
body.woocommerce-checkout.abm-woo-page #order_review #payment{
  display:block!important;
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:28px!important;
  box-sizing:border-box!important;
}
body.woocommerce-checkout.abm-woo-page #order_review #payment .place-order{
  width:100%!important;
  max-width:none!important;
}
body.woocommerce-checkout.abm-woo-page #order_review #payment #place_order{
  display:block!important;
  width:100%!important;
  min-height:54px!important;
  margin:20px 0 0!important;
  visibility:visible!important;
}

/* Debbie's book homepage promotion. */
.abm-book-promo{
  position:relative;
  overflow:hidden;
  padding:105px 0;
  background:radial-gradient(circle at 78% 20%,rgba(211,105,70,.24),transparent 28%),radial-gradient(circle at 16% 78%,rgba(125,46,110,.26),transparent 30%),linear-gradient(135deg,#120a10 0%,#2d1026 58%,#140a12 100%);
  color:#fff;
}
.abm-book-promo:before{
  content:"";
  position:absolute;
  width:520px;height:520px;border-radius:50%;
  right:-180px;top:-210px;
  border:1px solid rgba(214,171,89,.20);
  box-shadow:0 0 0 70px rgba(214,171,89,.018),0 0 0 140px rgba(214,171,89,.012);
}
.abm-book-promo-grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
  gap:80px;
  align-items:center;
}
.abm-book-visual{position:relative;display:grid;place-items:center;min-height:520px}
.abm-book-glow{position:absolute;inset:12%;background:radial-gradient(circle,rgba(202,86,151,.46),rgba(221,106,64,.18) 35%,transparent 72%);filter:blur(35px)}
.abm-book-frame{
  position:relative;
  width:min(100%,390px);
  padding:22px;
  border-radius:34px;
  background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.035));
  border:1px solid rgba(229,190,122,.28);
  box-shadow:0 34px 90px rgba(0,0,0,.38);
  transform:rotate(-2deg);
}
.abm-book-frame img{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:22px}
.abm-book-copy .eyebrow{color:#e8c58e!important}
.abm-book-copy h2{color:#fff!important;font-size:clamp(3.8rem,6.2vw,6.7rem);line-height:.86;letter-spacing:-.055em;margin:12px 0 24px}
.abm-book-copy h2 em{color:#dfa36f;font-weight:500}
.abm-book-copy .lead{max-width:690px;color:#dfd1da;font-size:1.08rem}
.abm-book-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:28px 0 30px;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.abm-book-meta>span:first-child{text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;color:#bda6b4}
.abm-book-meta strong{font-family:"Cormorant Garamond",serif;font-size:1.45rem;color:#fff}
.abm-book-price{margin-left:auto;font-family:"Cormorant Garamond",serif;font-size:1.7rem!important;color:#f0b36c!important}
.abm-book-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.abm-book-actions .link-arrow{color:#fff!important}

@media(max-width:980px){
  body.single-product.abm-woo-page div.product{grid-template-columns:1fr!important}
  body.single-product.abm-woo-page .woocommerce-product-gallery{max-width:560px!important;margin-left:auto!important;margin-right:auto!important}
  .abm-book-promo-grid{grid-template-columns:1fr;gap:34px}
  .abm-book-visual{min-height:auto}
  .abm-book-frame{max-width:360px}
}
@media(max-width:700px){
  body.single-product.abm-woo-page #main-content>.container{width:min(calc(100% - 28px),1240px)!important}
  body.single-product.abm-woo-page div.product{padding:20px!important;gap:28px!important}
  body.single-product.abm-woo-page .product_title{font-size:clamp(2.6rem,13vw,4.2rem)!important}
  body.single-product.abm-woo-page form.cart .single_add_to_cart_button,
  body.single-product.abm-woo-page form.cart .abm-checkout-now{width:100%!important}
  body.woocommerce-checkout.abm-woo-page form.checkout{width:100%!important;padding:22px 0 50px!important}
  body.woocommerce-checkout.abm-woo-page form.checkout #order_review{padding:17px!important}
  body.woocommerce-checkout.abm-woo-page #order_review #payment{padding:20px!important}
  .abm-book-promo{padding:78px 0}
  .abm-book-copy h2{font-size:clamp(3.4rem,15vw,5rem)}
  .abm-book-meta{align-items:flex-start;flex-direction:column}
  .abm-book-price{margin-left:0}
}


/* ==========================================================
   v1.0.4 SINGLE PRODUCT ONLY hardening
   The shop/archive and the now-approved checkout are intentionally
   untouched. This pass only neutralizes Divi/Woo width leakage on
   individual product pages and protects the global shell there.
   ========================================================== */

/* Undo the earlier viewport breakout on product pages. The JS below marks
   every actual Theme Builder ancestor, so the shell can safely use 100%. */
body.single-product.abm-woo-page .et-l--header,
body.single-product.abm-woo-page .et-l--footer{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
  overflow:visible!important;
}

/* Runtime-marked Theme Builder ancestors. This avoids depending on a
   particular Divi version's wrapper depth or Code Module width. */
body.single-product.abm-woo-page .abm-shell-width-reset{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
}
body.single-product.abm-woo-page .abm-global-header,
body.single-product.abm-woo-page .abm-global-footer{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
}
body.single-product.abm-woo-page .abm-global-header .safety-bar,
body.single-product.abm-woo-page .abm-global-header .site-header,
body.single-product.abm-woo-page .abm-global-footer .site-footer{
  width:100%!important;
  max-width:none!important;
}

/* Normalize every real ancestor from the Woo product back to #main-content.
   The product itself then gets its own centered 1240px presentation width. */
body.single-product.abm-woo-page #main-content,
body.single-product.abm-woo-page .abm-product-width-reset{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.single-product.abm-woo-page #main-content>.container,
body.single-product.abm-woo-page #content-area,
body.single-product.abm-woo-page #left-area,
body.single-product.abm-woo-page .woocommerce{
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.single-product.abm-woo-page #sidebar,
body.single-product.abm-woo-page #main-content .container:before{display:none!important}

/* Keep only the actual Woo product/breadcrumb constrained, not its ancestors. */
body.single-product.abm-woo-page .woocommerce-breadcrumb{
  width:min(calc(100% - 48px),1240px)!important;
  max-width:1240px!important;
  margin:54px auto 28px!important;
  padding:0!important;
}
body.single-product.abm-woo-page div.product.type-product,
body.single-product.abm-woo-page .woocommerce div.product{
  display:grid!important;
  grid-template-columns:minmax(340px,440px) minmax(0,1fr)!important;
  gap:58px!important;
  align-items:start!important;
  width:min(calc(100% - 48px),1240px)!important;
  max-width:1240px!important;
  min-width:0!important;
  margin:0 auto 100px!important;
  padding:48px!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  box-sizing:border-box!important;
}
body.single-product.abm-woo-page div.product .woocommerce-product-gallery,
body.single-product.abm-woo-page div.product .summary.entry-summary{
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
}
body.single-product.abm-woo-page div.product .woocommerce-product-gallery{
  max-width:440px!important;
  justify-self:center!important;
}
body.single-product.abm-woo-page div.product .summary.entry-summary{
  padding:8px 0!important;
  justify-self:stretch!important;
}
body.single-product.abm-woo-page div.product .product_title{
  display:block!important;
  width:100%!important;
  max-width:760px!important;
  font-size:clamp(3rem,4.6vw,4.9rem)!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body.single-product.abm-woo-page div.product .woocommerce-tabs,
body.single-product.abm-woo-page div.product .related.products,
body.single-product.abm-woo-page div.product .upsells.products{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:none!important;
}

@media(max-width:980px){
  body.single-product.abm-woo-page div.product.type-product,
  body.single-product.abm-woo-page .woocommerce div.product{
    grid-template-columns:1fr!important;
    width:min(calc(100% - 36px),760px)!important;
    padding:30px!important;
    gap:34px!important;
  }
  body.single-product.abm-woo-page div.product .woocommerce-product-gallery{max-width:520px!important}
  body.single-product.abm-woo-page div.product .product_title{font-size:clamp(2.8rem,9vw,4.5rem)!important}
}
@media(max-width:700px){
  body.single-product.abm-woo-page .woocommerce-breadcrumb{width:calc(100% - 28px)!important;margin-top:34px!important}
  body.single-product.abm-woo-page div.product.type-product,
  body.single-product.abm-woo-page .woocommerce div.product{
    width:calc(100% - 28px)!important;
    padding:20px!important;
    border-radius:24px!important;
  }
  body.single-product.abm-woo-page div.product .product_title{font-size:clamp(2.55rem,13vw,4rem)!important}
}


/* ==========================================================
   v1.0.5 DIVI THEME BUILDER SINGLE-PRODUCT FIX
   Divi adds class="product" to the Theme Builder header/body/footer
   wrappers. Earlier generic div.product rules therefore styled the
   entire shell as a Woo product grid. These rules explicitly restore
   the shell and style only the Woo module rows inside the TB body.
   ========================================================== */

/* The three Theme Builder roots are structural wrappers, never product cards. */
body.single-product.abm-woo-page .et-l--header > .et_builder_inner_content.product,
body.single-product.abm-woo-page .et-l--body > .et_builder_inner_content.product,
body.single-product.abm-woo-page .et-l--footer > .et_builder_inner_content.product{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  transform:none!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.single-product.abm-woo-page .et-l--header > .et_builder_inner_content.product:before,
body.single-product.abm-woo-page .et-l--header > .et_builder_inner_content.product:after,
body.single-product.abm-woo-page .et-l--body > .et_builder_inner_content.product:before,
body.single-product.abm-woo-page .et-l--body > .et_builder_inner_content.product:after,
body.single-product.abm-woo-page .et-l--footer > .et_builder_inner_content.product:before,
body.single-product.abm-woo-page .et-l--footer > .et_builder_inner_content.product:after{
  content:none!important;
  display:none!important;
}

/* Full-width global shell. The approved ABM .container inside it remains centered. */
body.single-product.abm-woo-page .et-l--header,
body.single-product.abm-woo-page .et-l--footer,
body.single-product.abm-woo-page .et-l--header .et_pb_section,
body.single-product.abm-woo-page .et-l--footer .et_pb_section,
body.single-product.abm-woo-page .et-l--header .et_pb_row,
body.single-product.abm-woo-page .et-l--footer .et_pb_row,
body.single-product.abm-woo-page .et-l--header .et_pb_column,
body.single-product.abm-woo-page .et-l--footer .et_pb_column,
body.single-product.abm-woo-page .et-l--header .et_pb_module,
body.single-product.abm-woo-page .et-l--footer .et_pb_module,
body.single-product.abm-woo-page .et-l--header .et_pb_code_inner,
body.single-product.abm-woo-page .et-l--footer .et_pb_code_inner{
  max-width:none!important;
}
body.single-product.abm-woo-page .et-l--header,
body.single-product.abm-woo-page .et-l--footer,
body.single-product.abm-woo-page .et-l--header .et_pb_section,
body.single-product.abm-woo-page .et-l--footer .et_pb_section,
body.single-product.abm-woo-page .et-l--header .et_pb_row,
body.single-product.abm-woo-page .et-l--footer .et_pb_row{
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}
body.single-product.abm-woo-page .et-l--header .et_pb_column,
body.single-product.abm-woo-page .et-l--footer .et_pb_column{
  width:100%!important;
  margin-right:0!important;
}

/* Do not let the abandoned v1.0.4 runtime width-reset classes alter the shell. */
body.single-product.abm-woo-page #page-container.abm-product-width-reset,
body.single-product.abm-woo-page #et-boc.abm-product-width-reset,
body.single-product.abm-woo-page .et-l--header.abm-product-width-reset,
body.single-product.abm-woo-page .et-l--footer.abm-product-width-reset{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Divi Theme Builder product body canvas. */
body.single-product.abm-woo-page #main-content{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
  overflow:visible!important;
}
body.single-product.abm-woo-page .abm-product-tb-root > .et_pb_section{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.single-product.abm-woo-page .abm-product-tb-root .et_pb_row{
  width:min(calc(100% - 48px),1240px)!important;
  max-width:1240px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Breadcrumb row stays light and uncluttered. */
body.single-product.abm-woo-page .abm-product-breadcrumb-row{
  padding:12px 0 22px!important;
}
body.single-product.abm-woo-page .abm-product-breadcrumb-row .woocommerce-breadcrumb{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-size:.72rem!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  color:#785f70!important;
}

/* Main product presentation: preserve Divi's two columns, but give them the ABM card. */
body.single-product.abm-woo-page .abm-product-hero-row{
  display:block!important;
  background:#fff!important;
  border:1px solid rgba(84,38,74,.10)!important;
  border-radius:38px!important;
  padding:48px!important;
  box-shadow:0 30px 90px rgba(34,14,30,.12)!important;
  overflow:visible!important;
}
body.single-product.abm-woo-page .abm-product-hero-row:after{
  content:""!important;
  display:block!important;
  clear:both!important;
}
body.single-product.abm-woo-page .abm-product-hero-row > .et_pb_column{
  min-width:0!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_images{
  width:100%!important;
  margin:0!important;
  padding:28px!important;
  background:radial-gradient(circle at 45% 30%,rgba(187,108,164,.20),transparent 43%),linear-gradient(145deg,#160c13,#4d1e3e)!important;
  border-radius:30px!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .woocommerce-product-gallery{
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border-radius:0!important;
  display:block!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .woocommerce-product-gallery img{
  width:100%!important;
  height:auto!important;
  max-height:620px!important;
  object-fit:contain!important;
  border-radius:18px!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_title h1{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 16px!important;
  padding:0!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:clamp(3rem,4.65vw,5rem)!important;
  line-height:.93!important;
  letter-spacing:-.045em!important;
  color:var(--deep)!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_price .price{
  font-family:"Cormorant Garamond",serif!important;
  color:var(--copper)!important;
  font-size:2.25rem!important;
  font-weight:700!important;
}
body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_add_to_cart{
  width:100%!important;
  max-width:none!important;
  margin-top:22px!important;
}
body.single-product.abm-woo-page .abm-product-hero-row form.cart{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin:0!important;
  padding:24px!important;
  border-radius:22px!important;
  background:#fff7f3!important;
  border:1px solid #eedbd4!important;
}

/* Long description and reviews get their own full-width cards. */
body.single-product.abm-woo-page .abm-product-description-row,
body.single-product.abm-woo-page .abm-product-reviews-row{
  background:#fff!important;
  border:1px solid rgba(84,38,74,.09)!important;
  border-radius:32px!important;
  padding:44px!important;
  box-shadow:0 22px 70px rgba(34,14,30,.08)!important;
}
body.single-product.abm-woo-page .abm-product-description-row .et_pb_wc_description,
body.single-product.abm-woo-page .abm-product-reviews-row .et_pb_wc_reviews{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.single-product.abm-woo-page .abm-product-description-row h1,
body.single-product.abm-woo-page .abm-product-description-row h2,
body.single-product.abm-woo-page .abm-product-description-row h3{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

@media(max-width:980px){
  body.single-product.abm-woo-page .abm-product-tb-root .et_pb_row{
    width:min(calc(100% - 36px),760px)!important;
  }
  body.single-product.abm-woo-page .abm-product-hero-row{padding:30px!important}
  body.single-product.abm-woo-page .abm-product-hero-row > .et_pb_column{
    width:100%!important;
    margin:0 0 34px!important;
  }
  body.single-product.abm-woo-page .abm-product-hero-row > .et_pb_column:last-child{margin-bottom:0!important}
  body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_title h1{font-size:clamp(2.8rem,9vw,4.5rem)!important}
  body.single-product.abm-woo-page .abm-product-description-row,
  body.single-product.abm-woo-page .abm-product-reviews-row{padding:30px!important}
}
@media(max-width:700px){
  body.single-product.abm-woo-page .abm-product-tb-root .et_pb_row{width:calc(100% - 28px)!important}
  body.single-product.abm-woo-page .abm-product-hero-row{padding:20px!important;border-radius:24px!important}
  body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_images{padding:18px!important;border-radius:22px!important}
  body.single-product.abm-woo-page .abm-product-hero-row .et_pb_wc_title h1{font-size:clamp(2.55rem,13vw,4rem)!important}
  body.single-product.abm-woo-page .abm-product-description-row,
  body.single-product.abm-woo-page .abm-product-reviews-row{padding:22px!important;border-radius:24px!important}
}


/* =========================================================
   ABM v1.0.6 — Homepage event typography + commerce header
   ========================================================= */
/* Divi's font metrics clip the lower serif edge of the gradient word
   "THE FIRE" because the original demo uses an intentionally tight line box.
   Give the painted background a little extra bottom area without moving the
   content below it. */
body.abm-managed-page .event-takeover h1,
body.home .event-takeover h1{
  overflow:visible!important;
}
body.abm-managed-page .event-takeover h1 strong,
body.home .event-takeover h1 strong{
  overflow:visible!important;
  padding-bottom:.10em!important;
  margin-bottom:-.10em!important;
}

/* Shopping cart access in the persistent ABM header. */
.abm-global-header .abm-cart-link{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:40px!important;
  padding:8px 11px!important;
  border:1px solid rgba(214,171,89,.28)!important;
  border-radius:999px!important;
  color:#f7eaf2!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1!important;
  white-space:nowrap!important;
  transition:.2s ease!important;
}
.abm-global-header .abm-cart-link:hover{
  border-color:rgba(239,160,92,.72)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
}
.abm-global-header .abm-cart-icon{
  width:17px!important;
  height:17px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  flex:0 0 17px!important;
}
.abm-global-header .abm-cart-count,
.abm-mobile-menu .abm-cart-count{
  display:inline-grid!important;
  place-items:center!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#a33382,#e76d4a)!important;
  color:#fff!important;
  font-size:.64rem!important;
  font-weight:900!important;
  line-height:1!important;
}
.abm-mobile-menu .abm-mobile-cart-link{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
}
@media(max-width:1130px){
  .abm-global-header .abm-cart-label{display:none!important}
  .abm-global-header .abm-cart-link{padding:8px!important;gap:4px!important}
}
@media(max-width:980px){
  .abm-global-header .nav-actions .abm-cart-link{display:inline-flex!important}
}


/* =========================================================
   ABM v1.0.7 — Cart notices / empty-cart readability
   ========================================================= */
/* Some legacy Woo/Divi rules repaint cart notices black after Woo updates.
   Lock the cart feedback states to the ABM light-card treatment and explicitly
   color all notice descendants so Removed / Undo / Empty messages remain legible. */
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce p.cart-empty.woocommerce-info,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .cart-empty.woocommerce-info{
  display:block!important;
  background:#fffaf8!important;
  color:#35132d!important;
  border:1px solid rgba(84,38,74,.12)!important;
  border-left:4px solid #d6ab59!important;
  border-radius:16px!important;
  box-shadow:0 12px 35px rgba(44,18,37,.08)!important;
  padding:18px 20px!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-message *,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-info *,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper .woocommerce-error *,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce p.cart-empty.woocommerce-info *,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .cart-empty.woocommerce-info *{
  color:#35132d!important;
  text-shadow:none!important;
}
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper a,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce p.cart-empty.woocommerce-info a,
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .cart-empty.woocommerce-info a{
  color:#7c2e69!important;
  font-weight:800!important;
  text-decoration:underline!important;
  text-underline-offset:2px!important;
}
body.woocommerce-cart.abm-woo-page #main-content .woocommerce .woocommerce-notices-wrapper a:hover{
  color:#a64578!important;
}
