/* Native commerce widgets inside the accepted site shell; no business logic. */
body.op-commerce-route { background:#fff; }
.op-commerce-page { max-width:1440px !important; width:100%; margin-inline:auto; background:#f6f1e9; color:#3a3935; padding:64px 48px 72px; font:400 16px/1.6 Inter,sans-serif; }
.op-commerce-page .op-commerce-heading h1 { margin:0 0 40px; font:400 clamp(40px,5vw,64px)/1.1 "Instrument Serif",serif; }
.op-commerce-page .op-commerce-native { width:100%; --sections-background-color:transparent; --sections-border-color:#c7c2ba; --sections-border-radius:16px; --sections-padding:24px; --forms-fields-normal-color:#3a3935; --forms-fields-normal-background-color:#fff; --forms-fields-normal-border-color:#c7c2ba; --forms-fields-border-radius:8px; --forms-buttons-normal-text-color:#3a3935; --forms-buttons-normal-background-color:#ead8c6; --forms-buttons-border-radius:28px; --checkout-button-normal-text-color:#3a3935; --checkout-button-normal-background-color:#ead8c6; --checkout-button-border-radius:28px; }
.op-commerce-page :is(input,select,textarea,button,.button) { font-family:Inter,sans-serif; }
.op-commerce-page :is(input:not([type=checkbox]):not([type=radio]),select,button,.button) { min-height:44px; }
.op-commerce-page :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #54413e; outline-offset:3px; }
.op-commerce-page :is(a.button,button.button,.checkout-button) { background:#ead8c6; color:#3a3935; border-radius:28px; padding:12px 24px; font-weight:600; line-height:1.5; white-space:normal; }
.op-commerce-page :is(a.button,button.button,.checkout-button):hover { background:#d9bea7; color:#272622; }
.op-commerce-page :is(.woocommerce-message,.woocommerce-error,.woocommerce-info) { background:#eee5d9; color:#3a3935; border-top-color:#54413e; overflow-wrap:anywhere; }
.op-commerce-page :is(.woocommerce-message,.woocommerce-error,.woocommerce-info)::before { color:#54413e; }
.op-commerce-page .woocommerce-cart-form .product-thumbnail img { width:88px; height:88px; object-fit:contain; background:#fff; border-radius:8px; }
.op-commerce-page .woocommerce-cart-form .product-name { overflow-wrap:anywhere; }
.op-commerce-page .woocommerce-cart-form a.remove { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; color:#54413e !important; }
.op-commerce-page .woocommerce-cart-form .quantity input { width:76px; max-width:100%; }
.op-commerce-page .cart_totals :is(h2,h3) { font:400 32px/1.2 "Instrument Serif",serif; }
.op-commerce-page .op-commerce-recommendations { width:100%; margin-top:64px; gap:32px; }
.op-commerce-page .op-commerce-recommendations h2 { font:400 42px/1.15 "Instrument Serif",serif; }
.op-commerce-page .op-commerce-recommendations .elementor-loop-container { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.op-commerce-page .op-commerce-recommendations .op-catalog-card { height:100%; }
@media(max-width:1100px) { .op-commerce-page { padding-inline:40px; } .op-commerce-page .op-commerce-recommendations .elementor-loop-container { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .op-commerce-page { padding:40px 24px 48px; } .op-commerce-page .op-commerce-heading h1 { margin-bottom:32px; } .op-commerce-page .op-commerce-native { --sections-padding:16px; } .op-commerce-page .op-commerce-recommendations { margin-top:48px; } .op-commerce-page .op-commerce-recommendations .elementor-loop-container { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .op-commerce-page * { scroll-behavior:auto; transition-duration:0s !important; animation-duration:0s !important; } }

.op-commerce-page .elementor-button { background:#ead8c6; color:#3a3935; border-radius:28px; padding:12px 24px; font:600 16px/24px Inter,sans-serif; }
.op-commerce-page .op-commerce-recommendation-loop { width:100%; padding-bottom:68px; min-width:0; }
.op-commerce-page .op-commerce-recommendations .op-catalog-image { height:auto; aspect-ratio:1; background:#fff; }
.op-commerce-page .op-commerce-recommendations .op-catalog-image img { height:100%; max-height:100%; padding:16px; object-fit:contain; }
.op-commerce-page .op-commerce-recommendations .swiper-wrapper { align-items:stretch; }
.op-commerce-page .op-commerce-recommendations .swiper-slide { height:auto; display:flex; }
.op-commerce-page .op-commerce-recommendations .op-catalog-copy { padding:20px 0 0; flex:1; }
.op-commerce-page .op-commerce-recommendations .op-catalog-title { min-height:90px; }
.op-commerce-page .op-commerce-recommendations .op-catalog-price { margin-top:auto; padding-top:8px; }
.op-commerce-page .op-commerce-recommendations .op-catalog-price :is(.elementor-heading-title,p,.price) { font:600 16px/24px Inter,sans-serif; }
.op-commerce-page .op-commerce-recommendation-loop.elementor-widget-loop-carousel .elementor-swiper-button { top:auto; bottom:0; transform:none; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid #c7c2ba; border-radius:50%; color:#3a3935; background:#f6f1e9; }
.op-commerce-page .op-commerce-recommendation-loop.elementor-widget-loop-carousel .elementor-swiper-button-prev { left:0; right:auto; }
.op-commerce-page .op-commerce-recommendation-loop.elementor-widget-loop-carousel .elementor-swiper-button-next { left:56px; right:auto; }
.op-commerce-page .op-commerce-recommendation-loop .swiper-button-disabled { opacity:.4; }
.op-commerce-page .op-commerce-recommendation-loop .swiper-pagination-progressbar { top:auto; bottom:20px; left:120px; width:calc(100% - 120px); background:#eae5dd; }
.op-commerce-page .op-commerce-recommendation-loop .swiper-pagination-progressbar-fill { background:#c7c2ba; }

.op-commerce-page .op-commerce-native.elementor-widget-woocommerce-cart { --links-normal-color:#3a3935; --links-hover-color:#54413e; --product-link-normal-color:#3a3935; --product-link-hover-color:#54413e; --totals-color:#3a3935; --order-summary-color:#3a3935; --sections-title-color:#3a3935; --forms-buttons-border-color:#c7c2ba; --forms-buttons-hover-border-color:#54413e; }
.op-commerce-page .elementor-widget-woocommerce-cart .woocommerce :is(button.button,.wc-proceed-to-checkout .checkout-button) { background:#ead8c6; color:#3a3935; border:1px solid #c7c2ba; border-radius:28px; min-height:44px; font:600 16px/24px Inter,sans-serif; }
.op-commerce-page .elementor-widget-woocommerce-cart .woocommerce :is(button.button,.wc-proceed-to-checkout .checkout-button):hover { background:#d9bea7; color:#272622; }
.op-commerce-page .elementor-widget-woocommerce-cart .woocommerce .quantity .qty { height:44px; min-height:44px; }
.op-commerce-page .elementor-widget-woocommerce-cart .woocommerce .cart_totals h2 { font:400 32px/1.2 "Instrument Serif",serif; }

.op-commerce-page .elementor-widget-woocommerce-cart .woocommerce-cart-form .shop_table { font:400 16px/24px Inter,sans-serif; }
.op-commerce-page .op-commerce-recommendation-loop.elementor-widget-loop-carousel .elementor-swiper-button svg { fill:#3a3935; }
@media(max-width:767px) {
 .op-commerce-page .elementor-widget-woocommerce-cart .woocommerce table.cart .product-thumbnail { display:flex; justify-content:center; padding-block:12px; }
 .op-commerce-page .elementor-widget-woocommerce-cart .woocommerce table.cart .product-thumbnail::before { content:none; }
 .op-commerce-page .elementor-widget-woocommerce-cart .woocommerce table.cart .product-thumbnail img { width:88px; height:88px; object-fit:contain; }
}

.op-commerce-page .elementor-swiper-button:focus-visible { outline:3px solid #54413e; outline-offset:3px; }

/* Checkout: native form structure, scoped presentation only. */
.op-commerce-checkout .elementor-widget-woocommerce-checkout-page { --sections-title-color:#3a3935; --links-normal-color:#54413e; --links-hover-color:#3a3935; --order-summary-color:#3a3935; --forms-fields-normal-color:#3a3935; --forms-fields-focus-color:#3a3935; --forms-fields-normal-background-color:#fff; --forms-fields-focus-background-color:#fff; --forms-fields-normal-border-color:#c7c2ba; --forms-fields-focus-border-color:#54413e; --forms-buttons-normal-text-color:#3a3935; --forms-buttons-normal-background-color:#ead8c6; --forms-buttons-border-color:#c7c2ba; --purchase-button-normal-text-color:#3a3935; --purchase-button-normal-background-color:#ead8c6; }
.op-commerce-checkout .woocommerce :is(h2,h3) { font:600 22px/1.4 Inter,sans-serif; }
.op-commerce-checkout .woocommerce :is(label,.shop_table) { font:400 16px/1.5 Inter,sans-serif; }
.op-commerce-checkout .woocommerce .form-row :is(input.input-text,textarea,select) { border:1px solid #c7c2ba; border-radius:8px; background:#fff; color:#3a3935; padding:12px; }
.op-commerce-checkout .woocommerce .form-row.woocommerce-invalid :is(input.input-text,select) { border-color:#a03030; }
.op-commerce-checkout .woocommerce :is(button.button,#place_order) { background:#ead8c6; color:#3a3935; border:1px solid #c7c2ba; border-radius:28px; font:600 16px/24px Inter,sans-serif; padding:12px 24px; white-space:normal; }
.op-commerce-checkout .woocommerce :is(button.button,#place_order):hover { background:#d9bea7; }
.op-commerce-checkout .woocommerce .select2-selection { min-height:48px; border:1px solid #c7c2ba; border-radius:8px; padding:8px; }
.op-commerce-checkout .woocommerce :is(.woocommerce-privacy-policy-text,.woocommerce-terms-and-conditions-wrapper) { font:400 14px/1.6 Inter,sans-serif; overflow-wrap:anywhere; }
.op-commerce-checkout .woocommerce .shop_table .product-name { overflow-wrap:anywhere; }
@media(max-width:767px) { .op-commerce-checkout .woocommerce :is(.form-row-first,.form-row-last) { width:100%; float:none; } .op-commerce-checkout .woocommerce :is(h2,h3) { font-size:20px; } }

.op-commerce-checkout .woocommerce-NoticeGroup-checkout .woocommerce-error:focus { outline:3px solid #54413e; outline-offset:3px; }

/* Native My Account: original endpoints and forms, no replacements. */
.op-commerce-account .elementor-widget-woocommerce-my-account { --sections-background-color:transparent; --sections-border-color:#c7c2ba; --tabs-normal-color:#3a3935; --tabs-hover-color:#54413e; --tabs-active-color:#3a3935; --tabs-normal-background-color:transparent; --tabs-hover-background-color:#eee5d9; --tabs-active-background-color:#ead8c6; --links-normal-color:#54413e; --links-hover-color:#3a3935; --forms-fields-normal-background-color:#fff; --forms-fields-normal-border-color:#c7c2ba; }
.op-commerce-account .woocommerce :is(h2,h3,legend) { font:600 22px/1.4 Inter,sans-serif; }
.op-commerce-account .woocommerce :is(p,label,li,td,th,address) { font:400 16px/1.6 Inter,sans-serif; }
.op-commerce-account .woocommerce :is(form.login,form.lost_reset_password) { max-width:640px; margin:0 auto; padding:24px; border:1px solid #c7c2ba; border-radius:16px; }
.op-commerce-account .woocommerce .form-row :is(input.input-text,textarea,select) { background:#fff; border:1px solid #c7c2ba; border-radius:8px; padding:12px; color:#3a3935; }
.op-commerce-account .woocommerce :is(button.button,a.button) { background:#ead8c6; color:#3a3935; border:1px solid #c7c2ba; border-radius:28px; min-height:44px; font:600 16px/24px Inter,sans-serif; padding:12px 24px; white-space:normal; }
.op-commerce-account .woocommerce :is(button.button,a.button):hover { background:#d9bea7; }
.op-commerce-account .woocommerce-MyAccount-navigation ul { list-style:none; margin:0; padding:0; }
.op-commerce-account .woocommerce-MyAccount-navigation a { display:block; min-height:44px; padding:12px 16px; border-radius:8px; color:#3a3935; overflow-wrap:anywhere; }
.op-commerce-account .woocommerce-MyAccount-navigation .is-active a { background:#ead8c6; font-weight:600; }
.op-commerce-account .woocommerce-MyAccount-navigation a:hover { background:#eee5d9; }
.op-commerce-account .woocommerce-MyAccount-content { overflow-wrap:anywhere; min-width:0; }
.op-commerce-account .woocommerce-MyAccount-content fieldset { border:1px solid #c7c2ba; border-radius:12px; padding:16px; margin-block:24px; }
.op-commerce-account .woocommerce :is(.woocommerce-Address,.woocommerce-MyAccount-content) { min-width:0; }
@media(max-width:767px) {
 .op-commerce-account .woocommerce :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content) { float:none; width:100%; }
 .op-commerce-account .woocommerce-MyAccount-navigation { margin-bottom:24px; }
 .op-commerce-account .woocommerce-MyAccount-navigation ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .op-commerce-account .woocommerce :is(.form-row-first,.form-row-last,.woocommerce-Address) { width:100%; float:none; }
 .op-commerce-account .woocommerce :is(form.login,form.lost_reset_password) { padding:16px; }
}

.op-commerce-account .woocommerce:has(> form.login) > h2 { max-width:640px; margin:0 auto 24px; }
.op-commerce-page .select2-selection:focus-visible { outline:3px solid #54413e; outline-offset:3px; }

.op-commerce-account .elementor-widget-woocommerce-my-account .e-my-account-tab:not(.e-my-account-tab__dashboard--custom) .woocommerce .button { background:#ead8c6; color:#3a3935; border-radius:28px; }

@media(max-width:767px) {
 .op-commerce-account .elementor-widget-woocommerce-my-account .woocommerce :is(.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content) { float:none; clear:both; width:100%; }
}
