/* Standalone PSO WooCommerce templates. Only the interior is owned by this plugin. */
.pso2-shop,.pso2-product-wrap{--navy:#071d3a;--gold:#b8843d;--cream:#fbf8f1;--stroke:#e7ded4;color:var(--navy);font-family:Montserrat,Arial,sans-serif;width:100%;box-sizing:border-box}
.pso2-shop *,.pso2-product-wrap *{box-sizing:border-box}
.pso2-shop a,.pso2-product-wrap a{color:inherit}
.pso2-hero{text-align:center;padding:75px 24px 82px;background:#fbf8f1}
.pso2-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:2.3px;color:var(--gold);text-transform:uppercase;margin-bottom:13px}
.pso2-hero h1{font:400 clamp(36px,4.5vw,60px)/1.14 'Playfair Display',Georgia,serif;color:var(--navy);margin:0 auto 15px;max-width:1000px}
.pso2-hero p{font:400 16px/1.8 Montserrat,Arial,sans-serif;margin:0;color:#69625b}
.pso2-collection{max-width:1210px;margin:0 auto;padding:67px 25px 95px}
.pso2-collection-heading{text-align:center;margin-bottom:41px}
.pso2-collection-heading h2{font:400 clamp(28px,3vw,40px)/1.2 'Playfair Display',Georgia,serif;margin:0;color:var(--navy)}
.pso2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px}
.pso2-card{min-width:0}.pso2-card-image{display:block;aspect-ratio:4/5;background:#f6f2ec;overflow:hidden}.pso2-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.pso2-card-image:hover img{transform:scale(1.025)}
.pso2-card-detail{text-align:center;padding:19px 8px 0}.pso2-card h3{font:400 21px/1.3 'Playfair Display',Georgia,serif;color:var(--navy);margin:0 0 7px}.pso2-card h3 a{text-decoration:none}
.pso2-price{font-size:14px;margin-bottom:18px;color:#6c655f}.pso2-customize{display:inline-flex;justify-content:center;align-items:center;gap:20px;min-width:210px;border:1px solid var(--gold);padding:13px 25px;font-size:12px;letter-spacing:.2px;text-decoration:none!important;color:var(--navy);transition:.2s}
.pso2-customize:hover{background:var(--gold);color:white}.pso2-empty{text-align:center;padding:45px 0}
.pso2-product-wrap{max-width:1240px;margin:0 auto;padding:32px 25px 100px}.pso2-crumb{font-size:12px;color:#80766d;margin-bottom:36px}.pso2-crumb a{text-decoration:none}
.pso2-product{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(35px,5vw,85px);align-items:start}.pso2-product-details{padding-top:20px;min-width:0}
.pso2-product-details h1{font:400 clamp(35px,3.6vw,49px)/1.18 'Playfair Display',Georgia,serif;margin:0 0 16px;color:var(--navy)}.pso2-product-price{font-size:22px;margin-bottom:18px}.pso2-product-desc{font-size:13px;line-height:1.85;color:#665f59;margin-bottom:26px}
.pso2-product-visual .woocommerce-product-gallery{float:none!important;width:100%!important;max-width:100%!important;margin:0!important}.pso2-product-visual .woocommerce-product-gallery img{width:100%;height:auto;display:block}.pso2-product-visual .flex-control-thumbs{display:flex;gap:10px;margin-top:12px!important}.pso2-product-visual .flex-control-thumbs li{width:20%!important;float:none!important;list-style:none}
.pso2-product-details form.cart{display:block!important;margin:0!important}.pso2-product-details form.cart .quantity{display:inline-block;margin-right:10px}.pso2-product-details .quantity .qty{min-height:47px;width:70px;padding:10px;border:1px solid var(--stroke)}
.pso2-product-details .single_add_to_cart_button{background:var(--gold)!important;color:#fff!important;min-height:47px;padding:12px 30px!important;border:0!important;border-radius:2px!important;font:600 13px Montserrat,Arial,sans-serif!important;cursor:pointer}
.pso2-product-details .single_add_to_cart_button:hover{background:#96662d!important}.pso2-assurance{border-top:1px solid var(--stroke);padding-top:22px;margin-top:27px;font-size:11px;line-height:1.8;color:#7a746e}
.pso2-product-description{margin-top:75px;border-top:1px solid var(--stroke);padding-top:32px;max-width:760px;font-size:13px;line-height:1.9}.pso2-product-description h2{font:400 28px 'Playfair Display',Georgia,serif;color:var(--navy)}
/* Form choices preserved from 1.x, scoped to the dedicated product form. */
.pso2-product-details .pso-personalizer{margin:20px 0 26px}.pso2-product-details .pso-choice-group{border:0;padding:0;margin:0 0 29px;min-width:0}.pso2-product-details .pso-choice-group legend{font-size:13px;font-weight:600;color:var(--navy);margin-bottom:13px}.pso2-product-details .pso-step{color:var(--gold)}
.pso2-product-details .pso-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.pso2-product-details .pso-image-choice{display:flex;flex-direction:column;text-align:center;cursor:pointer;font-size:11px;gap:9px}.pso2-product-details .pso-image-choice input,.pso2-product-details .pso-color-choice input{position:absolute;opacity:0;width:1px;height:1px}.pso2-product-details .pso-choice-tile{display:block;border:1px solid var(--stroke);padding:5px}.pso2-product-details .pso-choice-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}.pso2-product-details .pso-image-choice input:checked+.pso-choice-tile{border:2px solid var(--gold);padding:4px}.pso2-product-details input:focus-visible+.pso-choice-tile,.pso2-product-details input:focus-visible+.pso-swatch{outline:2px solid var(--navy);outline-offset:3px}
.pso2-product-details .pso-color-choices{display:flex;flex-wrap:wrap;gap:16px}.pso2-product-details .pso-color-choice{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font-size:11px}.pso2-product-details .pso-swatch{display:block;width:38px;height:38px;background:var(--pso-swatch);border-radius:50%;border:1px solid #ccc;box-shadow:inset 0 0 0 3px white}.pso2-product-details .pso-color-choice input:checked+.pso-swatch{outline:2px solid var(--gold);outline-offset:3px}
.pso2-product-details .pso-text-field{display:block;font-size:12px;margin-bottom:14px}.pso2-product-details .pso-text-field input{display:block;width:100%;height:44px;border:1px solid #d9d5ce;padding:9px 12px;margin-top:7px;font:13px Montserrat,Arial,sans-serif}.pso2-product-details .pso-clear-icon{background:none;border:0;text-decoration:underline;font-size:11px;cursor:pointer}.pso2-product-details .pso-custom-order-note,.pso2-product-details .pso-personalizer__intro{font-size:11px;line-height:1.8;color:#716e68}
@media(max-width:800px){.pso2-product{grid-template-columns:1fr;gap:25px}.pso2-product-details{padding-top:0}.pso2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pso2-hero{padding:55px 22px}.pso2-product-wrap{padding:25px 20px 70px}}
@media(max-width:480px){.pso2-grid{gap:30px 13px}.pso2-collection{padding:45px 15px 70px}.pso2-card h3{font-size:16px}.pso2-card-detail{padding-left:0;padding-right:0}.pso2-customize{min-width:0;width:100%;padding:12px 7px;font-size:11px;gap:7px}.pso2-hero h1{font-size:35px}.pso2-product-details .pso-choices{gap:7px}}

/* v3: approved coastal mockup layout, without category bars or archive controls */
body.pso-boutique{background:#fffdf9}
body.pso-boutique header.site-header,body.pso-boutique #masthead,body.pso-boutique .site-header{position:relative!important;z-index:50!important;visibility:visible!important;opacity:1!important;background:#10283b!important;color:#fff!important}
body.pso-boutique header.site-header a,body.pso-boutique #masthead a,body.pso-boutique .site-header a{color:#fff}
body.pso-boutique header.site-header img,body.pso-boutique #masthead img{max-height:90px;object-fit:contain}
body.pso-boutique .pso2-shop,body.pso-boutique .pso2-product-wrap{position:relative;isolation:isolate;z-index:1}
.pso2-shop .pso2-hero{min-height:290px;display:flex;align-items:center;text-align:left;padding:36px max(24px,calc((100vw - 1200px)/2));background:linear-gradient(90deg,rgba(255,253,249,.97) 0%,rgba(255,253,249,.88) 43%,rgba(255,253,249,.06) 82%),url('../assets/demo/hero-clean.jpg') center/cover no-repeat}
.pso2-hero-inner{max-width:660px}.pso2-shop .pso2-hero h1{font-size:clamp(47px,5vw,71px);margin:0 0 8px}.pso2-shop .pso2-hero p{font:400 clamp(16px,1.8vw,23px)/1.5 'Playfair Display',Georgia,serif;color:#27374a}
.pso2-hero-rule{display:block;height:2px;width:75px;background:#b8843d;margin-top:20px}
.pso2-shop .pso2-collection{padding:34px 25px 90px;max-width:1230px}
.pso2-shop .pso2-grid{gap:30px 22px}
.pso2-shop .pso2-card-image{aspect-ratio:1.08;background:#faf6ef;border-radius:3px}
.pso2-shop .pso2-card-detail{text-align:left;padding:13px 0 0}
.pso2-shop .pso2-card h3{font-size:22px;margin-bottom:5px}
.pso2-shop .pso2-price{color:#10283b;margin-bottom:11px;font-size:15px}
.pso2-shop .pso2-customize{min-width:0;width:100%;min-height:43px;font:500 13px/1.2 'Playfair Display',Georgia,serif;color:#9b6e34;padding:11px}
.pso2-shop .pso2-customize:hover{color:white}
.pso2-product-wrap{background:#fffdf9}.pso2-product-details .pso-personalizer__intro{display:none}
.pso2-product-details h1{font-size:clamp(37px,3vw,50px)}
.pso2-product-details .pso2-product-desc{line-height:1.72}
.pso2-product-details .pso-choice-group legend{font:600 14px/1.5 'Playfair Display',Georgia,serif}
.pso2-product-details .pso-image-choice .pso-choice-label{font-size:12px}
.pso2-product-details .pso-image-choice input:checked+.pso-choice-tile{border-color:#b8843d}
.pso2-product-details .pso-text-field input{background:#fff}
.pso2-product-details .pso-custom-order-note{margin:15px 0 0}
.pso2-product-wrap .pso2-crumb{margin-top:2px}
.pso2-qty-buy{display:flex;align-items:center;gap:12px}
.pso2-product-description{margin-top:40px}
.pso2-related{margin-top:75px}.pso2-related h2{text-align:center;font:400 31px 'Playfair Display',Georgia,serif;margin-bottom:25px}.pso2-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.pso2-related-item{text-decoration:none!important}.pso2-related-item img{width:100%;aspect-ratio:1/1;object-fit:cover}.pso2-related-item strong{display:block;font:400 17px 'Playfair Display',Georgia,serif;margin:8px 0 3px}.pso2-related-item span{font:12px Montserrat,Arial,sans-serif}
@media(max-width:800px){.pso2-shop .pso2-hero{min-height:240px;background-position:center right}.pso2-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.pso2-shop .pso2-hero{min-height:210px;padding:24px 20px;background:linear-gradient(90deg,rgba(255,253,249,.98),rgba(255,253,249,.5)),url('../assets/demo/hero-clean.jpg') center/cover}.pso2-shop .pso2-collection{padding:25px 16px 60px}.pso2-shop .pso2-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 12px}.pso2-shop .pso2-card h3{font-size:17px}.pso2-shop .pso2-price{font-size:12px}.pso2-shop .pso2-customize{font-size:12px}}

/* v3.1: refined showroom controls */
.pso2-shop .pso2-customize,.pso2-shop .pso-customize-link{background:#b8843d!important;color:#fff!important;border-color:#b8843d!important;border-radius:4px!important;font:600 14px/1.3 Montserrat,Arial,sans-serif!important;transition:background .2s ease,color .2s ease!important}
.pso2-shop .pso2-customize:hover,.pso2-shop .pso-customize-link:hover{background:#071d3a!important;color:#fff!important;border-color:#071d3a!important}
.pso2-product-price::after{content:"";display:block;width:64px;height:2px;background:#b8843d;margin:12px 0 2px}
.pso2-product-details .pso-choice-group legend{font:600 19px/1.35 'Playfair Display',Georgia,serif!important;margin-bottom:17px!important;color:#071d3a}
.pso2-product-details .pso-step{color:#b8843d;font-family:Montserrat,Arial,sans-serif;font-size:18px;font-weight:700;margin-right:5px}
.pso2-product-details .pso-choice-tile{border-radius:11px;overflow:hidden;padding:5px;transition:border-color .2s,box-shadow .2s}
.pso2-product-details .pso-choice-tile img{border-radius:7px}
.pso2-product-details .pso-image-choice input:checked+.pso-choice-tile{border-radius:11px;box-shadow:0 0 0 2px rgba(184,132,61,.17)}
.pso2-product-details .pso-image-choice .pso-choice-label{font-size:13px;font-weight:500}
.pso2-product-details .pso-color-choice{font-size:13px}
.pso2-product-details .pso-text-field{font-size:14px;font-weight:500}
.pso2-product-details .pso-text-field input{height:49px;font-size:14px;border-radius:5px}
.pso2-product-visual .woocommerce-product-gallery__wrapper img{border-radius:7px}
.pso2-product-visual .pso-live-preview-label{font:500 12px Montserrat,Arial,sans-serif;color:#716e68;margin-top:12px}
.pso2-shop .pso2-hero{background-position:center right;background-size:cover}


/* v3.2: visual and interaction refinements */
.pso2-shop .pso2-hero{background:linear-gradient(90deg,rgba(251,248,241,.97) 0%,rgba(251,248,241,.93) 35%,rgba(251,248,241,.35) 66%,rgba(251,248,241,.08) 100%),url('../assets/demo/hero-shop.jpg') center/cover no-repeat;min-height:330px}
.pso2-shop .pso2-hero h1{font-size:clamp(48px,5vw,74px);margin-bottom:10px}
.pso2-shop .pso2-hero p{font:400 clamp(17px,1.9vw,24px)/1.55 'Playfair Display',Georgia,serif;color:#2d4050;max-width:480px}
.pso2-product-price{font-size:24px;font-weight:500}
.pso2-product-details .pso-choice-group legend{font:600 21px/1.3 'Playfair Display',Georgia,serif!important;margin-bottom:18px!important}
.pso2-product-details .pso-step{font-size:20px}
.pso2-product-details .pso-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.pso2-product-details .pso-choice-tile{border-radius:14px;padding:6px;background:#fff;border:1px solid #ddd2c6;min-height:116px;display:flex;align-items:center;justify-content:center}
.pso2-product-details .pso-choice-tile img{border-radius:10px;width:100%;height:100%;object-fit:cover}
.pso2-product-details .pso-choice-tile--none{background:#fffdf9}
.pso2-product-details .pso-none-label{font:600 16px/1.25 'Playfair Display',Georgia,serif;color:#071d3a;display:block;text-align:center;padding:18px}
.pso2-product-details .pso-image-choice input:checked+.pso-choice-tile{border:2px solid #b8843d;padding:5px;box-shadow:0 0 0 3px rgba(184,132,61,.12)}
.pso2-product-details .pso-image-choice .pso-choice-label{font-size:13px;line-height:1.35}
.pso2-product-details .pso-color-choices{gap:18px}
.pso2-product-details .pso-color-choice{font-size:13px;font-weight:500}
.pso2-product-details .pso-text-field{font-size:13px;font-weight:500;margin-bottom:12px;color:#071d3a}
.pso2-product-details .pso-text-field .pso-optional{font-size:12px;font-weight:400;color:#7b726b;margin-left:4px}
.pso2-product-details .pso-text-field input{height:48px;border:1px solid #d8d0c7;border-radius:4px;padding:11px 14px;font-size:14px;margin-top:8px}
.pso2-product-details form.cart .quantity{display:inline-flex;align-items:stretch;border:1px solid #ddd2c6;border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:12px!important;background:#fff}
.pso2-product-details form.cart .quantity .qty{width:48px!important;min-height:48px!important;height:48px!important;border:0!important;text-align:center;padding:0!important;margin:0!important;-moz-appearance:textfield;appearance:textfield}
.pso2-product-details form.cart .quantity .qty::-webkit-outer-spin-button,.pso2-product-details form.cart .quantity .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pso2-product-details .pso-qty-btn{width:48px;height:48px;border:0;background:#f8f3ec;color:#071d3a;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pso2-product-details .pso-qty-btn:hover{background:#071d3a;color:#fff}
.pso2-product-details .single_add_to_cart_button{min-height:48px;border-radius:4px!important;padding:12px 34px!important}
.pso2-product-details .pso-custom-order-note{font-size:12px;line-height:1.75;color:#776e66;margin-top:14px;padding-top:4px}
.pso2-related-separator{height:1px;background:#e5ddd2;margin:78px 0 44px}
.pso2-related{margin-top:0}
.pso2-related h2{margin-bottom:28px}
@media(max-width:800px){.pso2-product-details .pso-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.pso2-shop .pso2-hero{min-height:270px;background-position:center right}}
@media(max-width:560px){.pso2-product-details .pso-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.pso2-shop .pso2-hero{min-height:240px;padding:28px 20px;background:linear-gradient(90deg,rgba(251,248,241,.98) 0%,rgba(251,248,241,.94) 54%,rgba(251,248,241,.48) 100%),url('../assets/demo/hero-shop.jpg') center/cover no-repeat}}
