/* Part 2: native WooCommerce and Elementor forms remain the source of behavior. */
.pm-premium.woocommerce #content-wrap,.pm-premium.woocommerce-page #content-wrap { max-width:min(1320px,calc(100vw - 80px))!important; width:calc(100% - 80px)!important; padding-block:48px 88px; }
.pm-premium .button,.pm-premium.woocommerce a.button,.pm-premium .woocommerce a.button { border-radius:10px; min-height:48px; padding:13px 22px; }
.pm-premium .pm-catalog-hero { max-width:760px; padding-bottom:24px; }
.pm-premium .pm-catalog-hero h1 { font-size:clamp(36px,4vw,58px); }
.pm-premium .pm-shop-filters { background:#fbf4f2; border-color:#e9dddb; border-radius:12px; padding:24px; margin-top:25px; }
.pm-premium .pm-filter-fields label { font-size:14px; color:#655b5d; }
.pm-premium .pm-filter-fields select { border-radius:7px; min-height:48px; }
.pm-premium .pm-active-filters a { min-height:40px; display:flex; align-items:center; }
.pm-premium ul.products { gap:42px 24px; }
.pm-premium ul.products .woo-entry-image { position:relative; border-radius:12px; background:#fbf4f2; }
.pm-premium ul.products .woo-entry-image>img.px-catalog-alternate { position:absolute; inset:0; opacity:0; height:100%; width:100%; object-fit:cover; pointer-events:none; transition:opacity .3s; }
@media(hover:hover) and (pointer:fine) { .pm-premium ul.products li.product:hover .woo-entry-image>img.px-catalog-alternate { opacity:1; } }
.pm-premium ul.products .woo-entry-inner>li.title { margin-top:18px; }
.pm-premium ul.products li.product .title h2 { line-height:1.3; }
.pm-premium ul.products .pm-view-gift { border:1px solid #d7c4c1!important; color:#735253!important; background:transparent!important; padding:10px 18px; margin-top:10px; min-height:44px; }
.pm-premium ul.products .pm-view-gift:hover { background:#f3e6e4!important; }
.px-category-photo { max-width:100%; height:170px; border-radius:12px; overflow:hidden; position:relative; margin:0 0 25px; }
.px-category-photo img { height:100%; width:100%; object-fit:cover; object-position:center 45%; }
.px-category-photo span { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,#322b2bc9); padding:45px 24px 18px; color:white; font-size:12px; letter-spacing:.12em; }
.pm-premium.single-product div.product { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:32px 60px; position:relative; }
.pm-premium.single-product div.product>.onsale { position:absolute; top:16px; left:16px; right:auto; margin:0; float:none; z-index:2; border-radius:5px; }
.pm-premium.single-product .woocommerce-product-gallery { border-radius:12px; overflow:hidden; }
.pm-premium.single-product .woocommerce-product-gallery__image { background:#fbf4f2; }
.pm-premium.single-product .woocommerce-product-gallery__image img { aspect-ratio:4/5; object-fit:contain; }
.pm-premium.single-product .flex-control-thumbs { display:flex; gap:10px; padding-top:14px; }
.pm-premium.single-product .flex-control-thumbs li { max-width:22%; border:1px solid #e9dddb; border-radius:6px; overflow:hidden; }
.pm-premium.single-product .summary .product_title { font-size:clamp(36px,3.5vw,52px); }
.pm-premium.single-product .summary .price { margin:22px 0; font-size:25px; }
.pm-premium .pm-product-request-note { border-radius:0 10px 10px 0; background:#fbf4f2; padding:20px 22px; }
.pm-premium.single-product form.cart { padding-top:8px; }
.pm-premium.single-product form.cart .single_add_to_cart_button { min-height:50px; text-transform:none!important; letter-spacing:0!important; }
.pm-premium.single-product .woocommerce-tabs { padding-top:36px; margin-top:30px; }
.pm-premium.single-product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:12px; border:0; }
.pm-premium.single-product .woocommerce-tabs ul.tabs li { margin:0; border:1px solid #e9dddb; border-radius:8px; }
.pm-premium.single-product .woocommerce-tabs ul.tabs li a { text-transform:none; font-size:15px; padding:12px 20px; }
.pm-premium.single-product .woocommerce-tabs .panel { max-width:1000px; padding-top:15px; }
.pm-premium .woocommerce-cart-form { padding:0; }
.pm-premium .woocommerce table.shop_table { border-radius:12px; border-color:#e9dddb; background:#fffdfb; }
.pm-premium .woocommerce table.shop_table th { background:#fbf4f2; font-size:14px; letter-spacing:0; }
.pm-premium .woocommerce-cart-form .product-thumbnail img { width:90px; border-radius:8px; }
.pm-premium .woocommerce-cart-form td.product-name a { color:#322b2b; font-size:18px; }
.pm-premium .woocommerce-cart-form dl.variation { font-size:14px; color:#655b5d; }
.pm-premium .woocommerce .cart-collaterals .cart_totals { background:#fbf4f2; border-color:#e9dddb; border-radius:12px; padding:30px; }
.pm-premium .woocommerce .cart_totals .checkout-button { width:100%; }
.pm-premium .woocommerce :is(form.login,form.register,form.lost_reset_password) { background:#fbf4f2; border:1px solid #e9dddb; padding:30px; border-radius:12px; }
.pm-premium .woocommerce form label { font-size:14px; line-height:1.5; margin-bottom:8px; }
.pm-premium .woocommerce form :is(input.input-text,select,textarea) { min-height:50px; border-radius:8px; border-color:#d7c4c1; }
.pm-premium .woocommerce-MyAccount-navigation { padding:18px; border:1px solid #e9dddb; border-radius:12px; background:#fbf4f2; }
.pm-premium .woocommerce-MyAccount-navigation li.is-active a { color:#735253; font-weight:600; }
.pm-premium .woocommerce-MyAccount-content { padding-left:32px; }
.pm-premium .woocommerce-MyAccount-content a { text-underline-offset:4px; }
.pm-premium .pm-checkout-intro { padding-bottom:36px; }
.pm-premium .pm-request-form { max-width:1100px; }
.pm-premium .pm-checkout-panel { border-radius:14px; padding:38px; background:#fffdfb; border-color:#e9dddb; }
.pm-premium .pm-checkout-steps { border:0; margin-bottom:0; }
.pm-premium .pm-checkout-steps button { min-height:70px; border-bottom:0; font-size:15px; }
.pm-premium .pm-checkout-steps [aria-current=step] button { font-weight:600; }
.px-checkout-progress { height:3px; background:#f3e6e4; margin:0 0 30px; border-radius:3px; overflow:hidden; }
.px-checkout-progress::before { content:''; display:block; height:100%; width:var(--px-progress,33.33%); background:#735253; transition:width .2s; }
.pm-premium .pm-checkout-panel h2 { font-size:35px; }
.pm-premium .pm-checkout-panel input:not([type=checkbox]):not([type=radio]),.pm-premium .pm-checkout-panel textarea,.pm-premium .pm-checkout-panel select { min-height:50px; border-radius:8px; }
.pm-premium .pm-checkout-panel textarea { min-height:110px; }
.pm-premium .pm-checkout-panel .select2-selection { min-height:50px; border-radius:8px; display:flex; align-items:center; }
.pm-premium .pm-checkout-panel .select2-selection__arrow { top:12px!important; }
.pm-premium .pm-checkout-panel #customer_details .form-row { margin-bottom:22px; }
.pm-premium .pm-review-details { border-radius:10px; padding:28px; background:#fbf4f2; }
.pm-premium .pm-review-details>section { min-width:0; }
.pm-premium .pm-no-payment { border-radius:10px; background:#f3e6e4; }
.pm-premium .pm-client-errors { border-radius:8px; background:#fff1ee; }
.pm-premium .pm-client-errors a { color:#8a2438; text-decoration:underline; text-underline-offset:3px; }
.pm-premium #place_order[disabled] { opacity:.7; cursor:wait; }
.px-request-sending { margin:20px 0; font-size:15px; color:#735253; }
.pm-premium .pm-success-mark { border:1px solid #b8d6c4; background:#edf5ef; width:64px; height:64px; }
.pm-premium .pm-success-reference,.pm-premium .pm-saved-preferences,.pm-premium .pm-success-next { border-radius:12px; }
.px-request-stage { border:1px solid #e9dddb; border-radius:12px; padding:24px; margin:26px 0; background:#fbf4f2; }
.px-request-stage>p { margin:0 0 16px; font-size:16px; }
.px-request-stage .pm-eyebrow { font-size:11px; }
.px-request-stage ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; list-style:none; margin:20px 0; counter-reset:requeststage; }
.px-request-stage li { border-top:2px solid #d7c4c1; padding-top:12px; color:#655b5d; font-size:13px; counter-increment:requeststage; }
.px-request-stage li::before { content:'0' counter(requeststage); display:block; font-size:11px; margin-bottom:7px; }
.px-request-stage li[aria-current=step] { border-color:#735253; color:#735253; font-weight:600; }
.px-request-stage .px-stage-note { font-size:13px; margin:0; color:#655b5d; }
.pm-premium .pm-brand-hero { padding-block:48px; background:#fbf4f2; }
.px-brand-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:70px; align-items:center; }
.px-brand-hero-grid:not(:has(.px-brand-hero-photo)) { display:block; }
.pm-premium .pm-brand-hero h1 { font-size:clamp(38px,4.1vw,62px); }
.px-brand-hero-photo { overflow:hidden; border-radius:90px 12px 12px; }
.px-brand-hero-photo img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.pm-premium .pm-brand-content { padding-block:64px 88px; }
.pm-premium .pm-brand-content .elementor-widget-text-editor { line-height:1.75; }
.pm-premium .pm-brand-content :is(p,li,a) { overflow-wrap:anywhere; }
.pm-premium .pm-brand-content :is(.elementor-column,.elementor-widget-wrap,.elementor-widget-container) { min-width:0; }
.pm-premium .pm-brand-content .owl-stage-outer { overflow:hidden!important; width:100%!important; max-width:100%; }
.pm-premium .pm-brand-content .owl-carousel { min-width:0; max-width:100%; }
.pm-premium.page-id-2953 .pm-brand-content table { display:block; max-width:100%; width:100%!important; overflow-x:auto; }
.pm-premium .pm-brand-content .eael-lr-btn { max-width:100%; white-space:normal; padding-inline:18px!important; }
.pm-premium .pm-brand-content .elementor-widget-heading { scroll-margin-top:120px; }
.pm-premium .pm-brand-content .wpcf7 { background:#fbf4f2; border:1px solid #e9dddb; padding:28px; border-radius:12px; }
.pm-premium .pm-brand-content :is(.eael-contact-form,.wpcf7) { width:100%!important; max-width:100%!important; }
.pm-premium .pm-brand-content .wpcf7 :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width:100%; border-radius:8px; border:1px solid #d7c4c1; min-height:50px; padding:12px; }
.pm-premium .pm-brand-content .wpcf7 input[type=submit] { color:white; background:#735253; }
.pm-premium .pm-brand-content .wpcf7-not-valid-tip { font-size:14px; color:#a92e45; }
.pm-premium .elementor-post__thumbnail { border-radius:10px; overflow:hidden; }
.pm-premium .elementor-post__title { font-family:'Josefin Sans',sans-serif; line-height:1.3; }
.pm-premium .elementor-post__excerpt { font-size:16px; line-height:1.7; }
.px-filter-dialog { width:min(520px,100%); max-width:100%; max-height:94dvh; margin:auto auto 0; padding:30px 24px; border:1px solid #e9dddb; border-radius:18px 18px 0 0; background:#fffdfb; color:#322b2b; overflow:auto; }
.px-filter-dialog::backdrop { background:#29232680; }
.px-filter-dialog h2 { font:400 32px/1.2 'Josefin Sans',sans-serif; margin:20px 0 26px; }
.px-filter-dialog .pm-filter-fields { display:grid; grid-template-columns:1fr; gap:18px; }
.px-filter-dialog .pm-filter-fields select { display:block; width:100%; height:50px; margin-top:7px; border-radius:8px; border:1px solid #d7c4c1; padding:10px; background:white; }
.px-filter-dialog label { display:block; color:#655b5d; font-size:14px; }
.px-filter-dialog .button { background:#735253; color:white; border:0; min-height:50px; border-radius:8px; font-size:15px; }
.px-filter-close,.px-filter-clear { border:0; background:none; padding:10px 0; color:#735253; cursor:pointer; min-height:44px; font-size:15px; }
.px-filter-clear { text-decoration:underline; margin-top:10px; }
.px-filter-open { overflow:hidden; }
@media(max-width:1023px) {
 .px-brand-hero-grid { gap:35px; }
 .pm-premium.single-product div.product { gap:24px 30px; }
 .pm-premium .pm-checkout-panel { padding:28px; }
}
@media(max-width:767px) {
 .pm-premium.woocommerce #content-wrap,.pm-premium.woocommerce-page #content-wrap { max-width:calc(100vw - 32px)!important; width:calc(100% - 32px)!important; padding-block:30px 50px; }
 .pm-premium .pm-catalog-hero h1 { font-size:37px; }
 .pm-premium ul.products { gap:30px 14px; }
 .pm-premium ul.products .woo-entry-inner>li.title { margin-top:13px; }
 .pm-premium ul.products .pm-view-gift { padding:10px 12px; font-size:13px!important; }
 .pm-premium .pm-shop-filters { padding:17px; margin-top:18px; }
 .pm-premium .pm-shop-filters summary { font-size:15px; min-height:30px; }
 .pm-premium.single-product div.product { display:block; }
 .pm-premium.single-product .summary { padding-top:28px; }
 .pm-premium.single-product .summary .product_title { font-size:37px; }
 .pm-premium.single-product .woocommerce-tabs ul.tabs { gap:8px; }
 .pm-premium.single-product .woocommerce-tabs ul.tabs li a { padding:10px 12px; font-size:14px; }
 .pm-premium .woocommerce-cart-form .product-thumbnail img { width:65px; }
 .pm-premium .woocommerce .cart-collaterals .cart_totals { padding:20px; }
 .pm-premium .woocommerce :is(form.login,form.register,form.lost_reset_password) { padding:22px 18px; }
 .pm-premium .woocommerce-MyAccount-navigation { padding:12px; }
 .pm-premium .woocommerce-MyAccount-content { padding-left:0; }
 .pm-premium .pm-checkout-panel { padding:24px 16px; }
 .pm-premium .pm-checkout-panel h2 { font-size:29px; }
 .pm-premium .pm-checkout-steps button { font-size:12px; min-height:76px; }
 .pm-premium .pm-checkout-panel #customer_details .form-row { margin-bottom:18px; }
 .pm-premium .pm-review-details { padding:20px 16px; }
 .px-request-stage { padding:20px 16px; }
 .px-request-stage ol { grid-template-columns:1fr 1fr; gap:18px; }
 .px-brand-hero-grid { grid-template-columns:1fr; gap:28px; }
 .pm-premium .pm-brand-hero { padding-block:32px; }
 .pm-premium .pm-brand-hero h1 { font-size:38px; }
 .px-brand-hero-photo { border-top-left-radius:60px; }
 .px-brand-hero-photo img { aspect-ratio:16/10; }
 .pm-premium .pm-brand-content { padding-block:40px 56px; }
 .pm-premium .pm-brand-content .wpcf7 { padding:20px 16px; }
 .pm-premium .pm-brand-content .wpcf7 form .clearfix>div { width:100%!important; float:none!important; margin-inline:0!important; }
}
@media(prefers-reduced-motion:reduce) { .px-checkout-progress::before { transition:none; } }
