/* Elementor theme isolation for quote actions. */
#storeSection .o2-btn-primary, #productOverlay .o2-btn-primary, .o2-promo-store .o2-btn-primary { background: var(--terra) !important; color: var(--white) !important; box-shadow: 0 4px 12px rgba(196,112,74,0.25) !important; border: none !important; display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 0.5rem 0.5rem 0.5rem 1.25rem !important; border-radius: 99px !important; font-size: 0.82rem !important; font-family: 'DM Sans', sans-serif !important; font-weight: 700 !important; cursor: pointer !important; height: 48px !important; box-sizing: border-box !important; line-height: 1 !important; margin: 0 !important; }
#storeSection .o2-btn-primary span:first-child, #productOverlay .o2-btn-primary span:first-child, .o2-promo-store .o2-btn-primary span:first-child { padding-right: 4px !important; white-space: nowrap !important; }
#storeSection .o2-btn-primary:hover, #productOverlay .o2-btn-primary:hover, .o2-promo-store .o2-btn-primary:hover { background: #ffffff !important; color: #d87d62 !important; border: 1.5px solid #d87d62 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(216,125,98,0.2) !important; }
#storeSection .o2-btn-primary:hover .btn-arrow-circle, #productOverlay .o2-btn-primary:hover .btn-arrow-circle, .o2-promo-store .o2-btn-primary:hover .btn-arrow-circle { background: #d87d62 !important; color: #ffffff !important; transform: translateX(3px) !important; }
#storeSection .o2-btn-secondary, #productOverlay .o2-btn-secondary, .o2-promo-store .o2-btn-secondary { background: var(--white) !important; color: #d87d62 !important; border: 1.5px solid #d87d62 !important; display: inline-flex !important; align-items: center !important; justify-content: space-between !important; gap: 12px !important; padding: 0.5rem 0.5rem 0.5rem 1.25rem !important; border-radius: 99px !important; font-size: 0.82rem !important; font-family: 'DM Sans', sans-serif !important; font-weight: 700 !important; cursor: pointer !important; height: 48px !important; box-sizing: border-box !important; line-height: 1 !important; margin: 0 !important; box-shadow: none !important; }
#storeSection .o2-btn-secondary span:first-child, #productOverlay .o2-btn-secondary span:first-child, .o2-promo-store .o2-btn-secondary span:first-child { padding-right: 4px !important; white-space: nowrap !important; }
#storeSection .o2-btn-secondary:hover, #productOverlay .o2-btn-secondary:hover, .o2-promo-store .o2-btn-secondary:hover { background: #d87d62 !important; color: #ffffff !important; border: 1.5px solid #d87d62 !important; transform: translateY(-2px) !important; box-shadow: 0 8px 20px rgba(216,125,98,0.2) !important; }
#storeSection .o2-btn-secondary:hover .btn-arrow-circle, #productOverlay .o2-btn-secondary:hover .btn-arrow-circle, .o2-promo-store .o2-btn-secondary:hover .btn-arrow-circle { background: #ffffff !important; color: #d87d62 !important; transform: translateX(3px) !important; }
@media (min-width: 769px) {
  /* The product information column is narrower than the modal, so two full CTAs
     cannot fit here without clipping the secondary action. */
  #productOverlay .cart-action-buttons { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; }
  #productOverlay .cart-action-buttons .o2-btn-primary, #productOverlay .cart-action-buttons .o2-btn-secondary { width: 100%; min-width: 0; padding-left: 0.9rem !important; gap: 0.5rem !important; font-size: 0.78rem !important; }
}

/* The product modal is outside Elementor's normal content scope. Reset its
   imprint controls explicitly so theme button rules cannot recolor the label. */
#productOverlay .imprint-options-box { display:flex !important; flex-direction:column !important; gap:.625rem !important; padding:.875rem !important; border:1px solid var(--cream-d) !important; border-radius:16px !important; background:var(--cream) !important; }
#productOverlay .imprint-option-btn { display:flex !important; align-items:flex-start !important; width:100% !important; min-height:56px !important; gap:.875rem !important; padding:.875rem 1rem !important; border:1px solid transparent !important; border-radius:12px !important; background:transparent !important; color:var(--brown-d) !important; font:500 .9rem/1.35 'DM Sans',sans-serif !important; text-align:left !important; white-space:normal !important; overflow-wrap:anywhere !important; }
#productOverlay .imprint-option-btn .option-name { display:block !important; min-width:0 !important; padding-top:1px; color:inherit !important; white-space:normal !important; overflow-wrap:anywhere !important; }
#productOverlay .imprint-option-btn.active { background:var(--white) !important; border-color:var(--terra) !important; color:var(--brown-d) !important; font-weight:700 !important; box-shadow:0 2px 8px rgba(30,21,18,.04) !important; }
#productOverlay .imprint-option-btn .radio-indicator { display:block !important; width:18px !important; height:18px !important; flex:0 0 18px !important; }
