/* Custom props/backdrops: the existing PBH colors, fonts and service-page rhythm. */
.custom-shop-page{--cp-line:#d9ddcf;--cp-paper:#fffdf7;--cp-muted:#536152;--cp-gap:clamp(48px,6vw,88px);background:var(--cream);color:var(--green);font-family:var(--font-body,"Questrial",Arial,sans-serif)}
.cp-main *{box-sizing:border-box}.cp-main{overflow:clip}.cp-main [hidden]{display:none!important}.cp-main .container{width:min(1180px,calc(100% - 36px));margin-inline:auto;max-width:none}.cp-main :is(h1,h2,h3){font-family:var(--font-display,"Libre Baskerville",Georgia,serif);font-weight:400;letter-spacing:-.035em}.cp-main h1{font-size:clamp(2.8rem,4.9vw,5.1rem);line-height:1.09;margin:0 0 22px;max-width:none}.cp-main h2{font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.16;margin:0 0 18px}.cp-main h2 em{display:block}.cp-main h3{font-size:1.3rem;line-height:1.35;margin:0 0 12px}.cp-main p{font-size:1.03rem;line-height:1.7}.cp-main :is(a,button,input,select,textarea):focus-visible{outline:3px solid #987a16;outline-offset:4px}.cp-main .button{font-family:var(--font-body);font-size:.95rem;min-height:48px;line-height:1.35;padding:13px 22px;cursor:pointer;text-decoration:none}.cp-main button:disabled{cursor:default;opacity:.5}.cp-main section[id]{scroll-margin-top:110px}
.cp-hero{position:relative;background:var(--green);color:var(--cream);padding:150px 0 78px}.cp-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);align-items:center;gap:60px}.cp-hero h1{color:#fffaf0}.cp-hero h1 span{display:block}.cp-hero .eyebrow{color:var(--gold-soft);font-size:.75rem;letter-spacing:.2em}.cp-tagline{font-family:var(--font-display);font-style:italic;color:var(--gold-soft);font-size:1.24rem!important;margin:0 0 20px;line-height:1.5!important}.cp-hero-lede{color:#e4eadf;max-width:540px;margin:0 0 28px}.cp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}.cp-text-link{color:var(--gold-soft);text-underline-offset:7px;font-size:.95rem}.cp-hero-note{font-size:.86rem!important;color:#cbd6c7;max-width:490px;margin:22px 0 0}.cp-hero-visual{margin:0;position:relative;padding:12px 0 30px 12px}.cp-hero-visual:before{content:"";position:absolute;inset:0 20px 52px 0;border:1px solid rgba(212,175,55,.4)}.cp-hero-visual img{display:block;position:relative;width:100%;height:430px;object-fit:cover;object-position:50% 50%}.cp-hero-visual figcaption{position:relative;background:var(--cream);color:var(--green);font:italic 1rem/1.6 var(--font-display);padding:16px 20px;width:88%;margin:-27px 0 0 -12px;box-shadow:0 12px 30px #0002}
.cp-service-line{border-bottom:1px solid var(--cp-line);background:#eef2e9}.cp-service-line .container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:23px}.cp-service-line p{margin:0;font-size:.9rem;line-height:1.5;display:flex;align-items:center;gap:12px}.cp-service-line svg{width:22px;height:22px;flex-shrink:0;stroke:#80681c;fill:none;stroke-width:1.4}
.cp-builder{padding:var(--cp-gap) 0;background:var(--cream)}.cp-section-heading{max-width:700px;margin-bottom:32px}.cp-section-heading .eyebrow{color:#80681c}.cp-section-heading>p:last-child{color:var(--cp-muted);margin:0}.cp-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:32px;align-items:start}.cp-step{border-bottom:1px solid var(--cp-line);padding-bottom:35px;margin-bottom:35px}.cp-step:last-child{border:0;margin:0;padding:0}.cp-step-top{display:flex;align-items:start;justify-content:space-between;gap:22px;margin-bottom:21px}.cp-step-number{display:inline-block;color:#80681c;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;margin:0 0 9px}.cp-step h3{font-size:1.55rem;margin:0 0 8px}.cp-step-top p{color:var(--cp-muted);font-size:.94rem;margin:0;max-width:540px}.cp-package-price{font:400 2.3rem/1.2 var(--font-display);white-space:nowrap;color:var(--green);margin:3px 0}.cp-package-price small{display:block;font:400 .8rem/1.7 var(--font-body);letter-spacing:0;color:var(--cp-muted);text-align:right}.cp-included{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px;padding:0;list-style:none;color:var(--cp-muted);font-size:.9rem}.cp-included li:before{content:"✓";color:#80681c;margin-right:7px}.cp-shapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cp-shape-card{border:1px solid var(--cp-line);background:var(--cp-paper);padding:16px;min-width:0;display:flex;flex-direction:column}.cp-shape-card h4{font:400 1.12rem/1.35 var(--font-display);margin:15px 0 5px}.cp-shape-card p{font-size:.88rem;line-height:1.4;color:var(--cp-muted);margin:0 0 17px}.cp-shape-card svg{width:100%;height:150px;display:block;background:#f0eee5}.cp-shape-card .cp-cutout{fill:var(--green);stroke:#b29849;stroke-width:1.2}.cp-shape-card .cp-detail{fill:none;stroke:var(--gold-soft);stroke-width:.8;opacity:.8}.cp-shape-card .button{width:100%;padding:11px 7px;min-height:48px;margin-top:auto;font-size:.86rem}.cp-shape-guide{font-size:.8rem!important;color:var(--cp-muted);margin:12px 0 21px}.cp-option{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;align-items:start;padding:17px 18px;border:1px solid var(--cp-line);background:var(--cp-paper);margin:12px 0;cursor:pointer}.cp-option:has(input:checked){border-color:#80681c;box-shadow:inset 3px 0 0 var(--gold)}.cp-option input[type=checkbox]{width:19px;height:19px;margin:3px 0 0;accent-color:var(--green)}.cp-option strong{display:block;font-size:.96rem;line-height:1.5}.cp-option small{display:block;font-size:.86rem;line-height:1.6;color:var(--cp-muted);margin-top:3px}.cp-option-price{font-size:.93rem;padding-top:2px;white-space:nowrap}.cp-option-price.cp-pending{font-size:.77rem;white-space:normal;max-width:88px;text-align:right;color:#80681c}.cp-subtle{font-size:.86rem!important;color:var(--cp-muted);margin:15px 0 0}.cp-backdrop-visual{display:grid;grid-template-columns:1fr 1.1fr;gap:22px;align-items:center;margin:22px 0}.cp-backdrop-visual figure{margin:0;background:#eaece2;padding:15px}.cp-backdrop-visual svg{display:block;width:100%;height:auto}.cp-backdrop-visual figcaption{font-size:.73rem;color:var(--cp-muted);text-align:center;line-height:1.5;margin-top:10px}.cp-timing{border-left:2px solid var(--gold);padding:0 0 0 18px}.cp-timing strong{font:400 1.1rem/1.5 var(--font-display);display:block;margin-bottom:7px}.cp-timing p{font-size:.9rem;color:var(--cp-muted);margin:0 0 12px;line-height:1.7}
.cp-summary{position:sticky;top:106px;border:1px solid var(--cp-line);background:var(--cp-paper)}.cp-summary-top{background:var(--green);color:var(--cream);padding:26px 24px}.cp-summary-top .eyebrow{font-size:.68rem;margin-bottom:9px}.cp-summary-top h3{font-size:1.5rem;margin:0;color:var(--cream)}.cp-summary-body{padding:22px 24px}.cp-empty{font-size:.92rem!important;color:var(--cp-muted);margin:0 0 18px}.cp-cart-items{list-style:none;padding:0;margin:0}.cp-cart-items li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 0;border-bottom:1px solid #e5e7df;align-items:start;font-size:.9rem;line-height:1.5}.cp-cart-items li span{display:block}.cp-cart-items li small{font-size:.78rem;color:var(--cp-muted)}.cp-remove{border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--cp-muted);font:inherit;font-size:.76rem;min-height:32px;padding:2px;cursor:pointer}.cp-total{border-top:1px solid #bfc8b5;display:flex;justify-content:space-between;gap:12px;align-items:center;margin:22px 0 12px;padding-top:18px;font-size:.88rem}.cp-total output{font:400 2rem/1.2 var(--font-display);white-space:nowrap}.cp-summary-help{font-size:.82rem!important;line-height:1.65!important;color:var(--cp-muted);margin:12px 0 20px}.cp-summary .button{width:100%;font-size:.88rem}.cp-cart-status{font-size:.82rem!important;line-height:1.6!important;margin:15px 0 0;color:var(--cp-muted);min-height:2.6em}.cp-cart-status:empty{min-height:0;margin:0}.cp-no-payment{font-size:.78rem!important;line-height:1.55!important;text-align:center;margin:10px 0 0;color:var(--cp-muted)}
.cp-keep{background:var(--green);color:var(--cream);padding:var(--cp-gap) 0}.cp-keep-grid{display:grid;grid-template-columns:1fr 1.02fr;gap:65px;align-items:center}.cp-keep figure{margin:0;position:relative}.cp-keep img{display:block;width:100%;height:440px;object-fit:cover;border:7px solid #d7dbd51c}.cp-keep figcaption{font-size:.8rem;color:#cdd8c8;line-height:1.6;margin-top:14px}.cp-keep h2{color:var(--cream)}.cp-keep h2 em{color:var(--gold-soft)}.cp-keep-intro{color:#dce5d5;margin:0 0 24px}.cp-ideas{display:grid;grid-template-columns:1fr 1fr;gap:24px 26px}.cp-ideas article{border-top:1px solid #d4af3759;padding-top:17px}.cp-ideas h3{font-size:1.03rem;color:var(--gold-soft);letter-spacing:-.01em;margin:0 0 7px}.cp-ideas p{font-size:.88rem;line-height:1.65;color:#dce5d5;margin:0}
.cp-artwork{padding:var(--cp-gap) 0;background:#fffaf2}.cp-guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cp-guide-card{padding:30px;border:1px solid var(--cp-line);background:var(--cp-paper)}.cp-guide-card .cp-step-number{margin-bottom:14px}.cp-guide-card h3{font-size:1.45rem}.cp-guide-card>p{color:var(--cp-muted);font-size:.95rem}.cp-format-list{font-size:.78rem;display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.cp-format-list span{border:1px solid #cdd5c6;color:var(--green);padding:5px 10px;background:var(--cream)}.cp-guide-note{border-top:1px solid var(--cp-line);padding-top:15px;margin:18px 0 0;font-size:.87rem!important;line-height:1.65!important}.cp-faq{margin-top:50px}.cp-faq h3{font-size:1.6rem;margin-bottom:22px}.cp-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.cp-faq details{border-bottom:1px solid var(--cp-line);padding:15px 0}.cp-faq summary{cursor:pointer;font-size:.98rem;font-weight:400;line-height:1.55;padding-right:10px}.cp-faq details p{font-size:.92rem;color:var(--cp-muted);line-height:1.7;margin:13px 0 0}.cp-faq summary::marker{color:#80681c}
.cp-inquiry{background:#eef2e9;padding:var(--cp-gap) 0}.cp-inquiry-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}.cp-inquiry-copy .eyebrow{color:#80681c}.cp-inquiry-copy p{color:var(--cp-muted);margin-top:20px}.cp-preview-note{font-size:.84rem!important;line-height:1.6!important;border-left:2px solid var(--gold);padding-left:16px;margin-top:26px!important}.cp-form{background:var(--cp-paper);border:1px solid #cdd5c6;padding:32px;margin:0;min-width:0}.cp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cp-form label{display:block;min-width:0;font-size:.88rem;line-height:1.5}.cp-form input,.cp-form select,.cp-form textarea{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;border:1px solid #bdc8b5;border-radius:4px;background:#fff;color:var(--green);font:400 16px/1.45 var(--font-body);padding:12px;margin-top:7px}.cp-form label small{color:var(--cp-muted);font-size:.78rem}.cp-form .cp-wide{grid-column:1/-1}.cp-form input[type=file]{font-size:13px;padding:12px;background:#f7f3ea}.cp-form input[type=file]::file-selector-button{background:var(--green);color:var(--cream);border:0;border-radius:3px;padding:9px 12px;font:inherit;margin-right:9px;cursor:pointer}.cp-form fieldset{border:0;padding:0;margin:24px 0;min-width:0}.cp-form legend{font:400 1.05rem/1.5 var(--font-display);padding:0;margin-bottom:16px}.cp-file-group{margin-top:17px}.cp-form [type=submit]{width:100%;margin-top:22px}.cp-form-note{font-size:.8rem!important;color:var(--cp-muted);line-height:1.6!important;margin:14px 0 0}.cp-readonly-selection{font-size:.87rem;line-height:1.8;padding:15px;background:var(--cream);border:1px solid var(--cp-line);margin:0 0 24px}.cp-file-feedback{display:block;font-size:.8rem;line-height:1.5;min-height:0;color:#805000;margin-top:6px}.cp-file-feedback.is-error{color:#8a1818}.cp-form .cp-quote-note{font-size:.9rem;color:var(--green);background:#edf2e9;padding:17px;line-height:1.65;margin-top:24px}.cp-secondary-link{margin-top:18px;font-size:.9rem!important}.cp-secondary-link a{color:var(--green);text-underline-offset:5px}
@media(max-width:1050px){.cp-hero-grid{gap:36px}.cp-hero h1{font-size:clamp(2.65rem,5.3vw,4rem)}.cp-builder-layout{grid-template-columns:minmax(0,1fr) 290px;gap:22px}.cp-shapes{gap:10px}.cp-shape-card{padding:12px}.cp-shape-card svg{height:125px}.cp-summary-body{padding:20px}.cp-keep-grid{gap:38px}.cp-inquiry-grid{gap:36px}}
@media(max-width:800px){.cp-hero{padding:118px 0 48px}.cp-hero-grid{grid-template-columns:1fr;gap:33px}.cp-hero h1{font-size:clamp(2.7rem,8.5vw,4.1rem)}.cp-hero-lede{font-size:1rem!important}.cp-hero-visual{max-width:620px}.cp-hero-visual img{height:350px}.cp-hero-visual figcaption{width:88%;font-size:.94rem}.cp-service-line .container{gap:16px}.cp-service-line p{font-size:.8rem;align-items:start}.cp-service-line svg{width:19px}.cp-builder-layout{grid-template-columns:1fr}.cp-summary{position:static;margin-top:6px}.cp-summary-top{padding:22px 24px}.cp-summary-body{padding:22px 24px}.cp-shape-card svg{height:155px}.cp-keep-grid,.cp-inquiry-grid{grid-template-columns:1fr;gap:34px}.cp-keep img{height:350px}.cp-guide-grid{gap:16px}.cp-guide-card{padding:24px}.cp-form{padding:26px}.cp-main section[id]{scroll-margin-top:95px}}
@media(max-width:520px){.cp-main .container{width:calc(100% - 36px)}.cp-hero{padding-top:111px}.cp-hero .eyebrow{font-size:.66rem;letter-spacing:.17em;max-width:300px}.cp-hero h1{font-size:clamp(2.45rem,10.4vw,3.35rem);margin-bottom:18px}.cp-tagline{font-size:1.03rem!important}.cp-hero-lede{font-size:.98rem!important;line-height:1.7!important;margin-bottom:23px}.cp-actions{gap:20px}.cp-actions .button{width:100%}.cp-text-link{font-size:.91rem}.cp-hero-visual{padding-left:9px;padding-bottom:10px}.cp-hero-visual img{height:280px}.cp-hero-visual figcaption{margin-top:-22px;margin-left:-9px;padding:12px 15px;width:93%;font-size:.85rem}.cp-hero-note{font-size:.79rem!important;margin-top:21px}.cp-service-line .container{grid-template-columns:1fr;gap:13px;padding-block:21px}.cp-service-line p{align-items:center;font-size:.87rem}.cp-main h2{font-size:2rem;line-height:1.2}.cp-section-heading{margin-bottom:27px}.cp-section-heading>p:last-child{font-size:.95rem}.cp-step-top{gap:12px}.cp-step h3{font-size:1.28rem}.cp-step-top p{font-size:.89rem}.cp-package-price{font-size:1.95rem}.cp-package-price small{font-size:.71rem}.cp-included{gap:8px 14px;font-size:.8rem}.cp-shapes{grid-template-columns:1fr;gap:12px}.cp-shape-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 16px;align-items:center;padding:13px}.cp-shape-card svg{width:110px;height:135px;grid-row:1/4}.cp-shape-card h4{margin:0 0 5px;font-size:1.12rem}.cp-shape-card p{margin:0 0 13px;font-size:.85rem}.cp-shape-card .button{margin:0;font-size:.86rem;width:100%;max-width:200px}.cp-option{padding:14px;gap:10px;grid-template-columns:20px minmax(0,1fr) auto}.cp-option strong{font-size:.9rem}.cp-option small{font-size:.8rem}.cp-option-price{font-size:.86rem}.cp-option-price.cp-pending{max-width:64px;font-size:.71rem}.cp-backdrop-visual{grid-template-columns:1fr;gap:22px}.cp-backdrop-visual figure{max-width:320px;width:100%;margin-inline:auto}.cp-backdrop-visual svg{max-height:275px}.cp-timing{margin-top:0}.cp-keep img{height:280px}.cp-ideas{gap:22px 20px}.cp-ideas h3{font-size:.95rem}.cp-ideas p{font-size:.82rem}.cp-guide-grid,.cp-faq-grid{grid-template-columns:1fr}.cp-guide-card{padding:24px}.cp-form{padding:23px 18px}.cp-form-grid{grid-template-columns:1fr;gap:17px}.cp-form input[type=file]::file-selector-button{display:block;margin-bottom:8px}.cp-readonly-selection{font-size:.81rem}.cp-main .hero-language-switch{right:18px;top:88px}.cp-faq{margin-top:35px}}
.cp-hero-grid>*,.cp-step-top>div:first-child{min-width:0}
@media(max-width:800px){.cp-hero-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){html[lang="es"] .cp-hero h1{font-size:clamp(2rem,8.8vw,3.1rem)}body.custom-shop-page .cp-hero>.hero-language-switch{position:static!important;display:table!important;margin:0 18px 22px auto!important;transform:none!important}.cp-hero .eyebrow{max-width:none}}
@media(prefers-reduced-motion:reduce){.cp-main *{scroll-behavior:auto!important;transition:none!important}}

/* Separate product pages retain the same brand treatment without mixed purchase flows. */
.cp-guide-grid:has(>.cp-guide-card:only-child){grid-template-columns:minmax(0,1fr);max-width:800px}
body[data-custom-product=backdrops] .cp-hero-visual>svg{display:block;width:100%;height:430px;background:#eaece2;padding:25px}
body[data-custom-product=backdrops] .cp-keep-grid>figure>svg{display:block;width:100%;height:400px;background:#eaece2;padding:30px}
@media(max-width:520px){body[data-custom-product=backdrops] .cp-hero-visual>svg{height:300px}body[data-custom-product=backdrops] .cp-keep-grid>figure>svg{height:280px}}
