.product-card__stock{display:block;margin-top:.45rem;color:var(--sage-dark);font-weight:700}
.product-card__stock.is-soldout{color:var(--terracotta-dark)}
.product-card__buy button:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(1)}
.product-card__buy{flex-wrap:wrap}
.product-card__price{margin-right:auto}
.product-card__details{width:auto!important;border-radius:999px!important;padding:0 .85rem!important;font-size:.82rem!important;background:var(--paper)!important;color:var(--terracotta-dark)!important;border:1px solid var(--line)!important}
.product-dialog{width:min(94vw,920px);border:0;border-radius:24px;padding:0;background:var(--paper);box-shadow:var(--shadow)}
.product-dialog::backdrop{background:rgba(35,22,17,.68);backdrop-filter:blur(3px)}
.product-dialog>.dialog-close{position:absolute;top:1rem;right:1rem;z-index:2}
.product-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:1.5rem;padding:2rem}
.product-detail__media{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;align-content:start}
.product-detail__media img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;background:var(--cream)}
.product-detail__body{display:grid;align-content:center;gap:1rem;padding-right:2.5rem}
.product-detail__body h2{font-size:2rem;margin:0}
.product-detail__body>strong{font-family:var(--serif);font-size:1.8rem;color:var(--terracotta-dark)}
.product-detail__size{color:var(--brown-soft);margin:0}
.paypal-panel{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}
.paypal-panel p{margin:.2rem 0 .8rem;color:var(--brown-soft);font-size:.9rem}
#paypalButtons{min-height:44px}
.service-grid--prices{align-items:stretch}
.service-grid--prices .service-card{display:flex;flex-direction:column;padding:2rem 2rem 1.7rem}
.service-grid--prices .service-card::after{content:"";position:absolute;left:2rem;right:2rem;top:1.4rem;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--terracotta),rgba(181,138,66,.25));opacity:.9}
.service-grid--prices .service-card__icon{display:none!important}
.service-grid--prices .service-card__label{margin:1rem 0 .35rem;font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.25rem);line-height:1;color:var(--terracotta-dark);letter-spacing:0;text-transform:none;font-weight:500}
.service-grid--prices .service-card h3{font-family:var(--sans);font-size:.95rem;line-height:1.35;margin:0 0 .85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brown)}
.service-grid--prices .service-card>p:not(.service-card__label){margin-bottom:.3rem}
.service-price-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:.55rem}
.service-price-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(108,85,73,.14);padding-bottom:.45rem}
.service-price-list span{color:var(--brown-soft);font-size:.92rem}
.service-price-list strong{font-family:var(--serif);font-size:1.1rem;color:var(--terracotta-dark);white-space:nowrap}
.service-price-list--compact{grid-template-columns:1fr 1fr;column-gap:1rem}
.service-price-list--compact li{font-size:.9rem}
@media(max-width:650px){.service-price-list--compact{grid-template-columns:1fr}}
@media(max-width:760px){.product-detail{grid-template-columns:1fr;padding:1.2rem}.product-detail__body{padding-right:0}.product-detail__media{grid-template-columns:1fr 1fr}}
.address-fieldset{border:1px solid var(--line);border-radius:16px;padding:1rem;display:grid;gap:.85rem}
.address-fieldset legend{padding:0 .35rem;font-family:var(--serif);font-size:1.05rem;color:var(--terracotta-dark)}
.distance-note{font-size:.78rem!important;color:var(--brown-soft)!important;margin:0!important}
.support{background:var(--cream-deep)}
.support__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:7vw;align-items:start}
.support-form{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:clamp(1.5rem,4vw,2.4rem);display:grid;gap:1rem}
@media(max-width:800px){.support__grid{grid-template-columns:1fr;gap:2rem}}
.gallery-grid.is-carousel{display:block}
.gallery-carousel{position:relative;display:block}
.gallery-stage{margin:0;position:relative;background:var(--paper);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:520px}
.gallery-stage img{width:100%;height:min(66vh,680px);min-height:520px;object-fit:contain;background:linear-gradient(135deg,#fbf7f1,#eee2d4)}
.gallery-stage figcaption{position:absolute;left:1.2rem;right:1.2rem;bottom:1.2rem;display:grid;gap:.12rem;padding:1rem 1.2rem;border-radius:16px;background:rgba(47,31,23,.76);color:white;backdrop-filter:blur(12px)}
.gallery-stage figcaption span{font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#edcc83}
.gallery-stage figcaption strong{font-family:var(--serif);font-size:1.45rem;font-weight:500}
.gallery-stage figcaption small{font-size:.86rem;color:rgba(255,255,255,.82)}
.gallery-nav{position:absolute;z-index:3;top:50%;width:58px;height:58px;border:1px solid var(--line);border-radius:50%;background:rgba(255,253,249,.92);color:var(--terracotta-dark);font-family:var(--serif);font-size:2.4rem;line-height:1;display:grid;place-items:center;box-shadow:var(--shadow-soft);cursor:pointer;transform:translateY(-50%);transition:background .2s}
.gallery-nav:hover{background:white}
.gallery-nav--prev{left:1rem}
.gallery-nav--next{right:5.5rem}
.gallery-strip{display:flex;gap:.7rem;overflow-x:auto;padding:.95rem .1rem .2rem;scrollbar-width:thin}
.gallery-strip button{flex:0 0 92px;height:78px;border:2px solid transparent;border-radius:14px;padding:0;overflow:hidden;background:var(--paper);cursor:pointer;opacity:.72;box-shadow:var(--shadow-soft)}
.gallery-strip button.is-active{border-color:var(--terracotta);opacity:1}
.gallery-strip img{width:100%;height:100%;object-fit:cover}
.contact-options__pin svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:760px){.gallery-nav--prev{left:.7rem}.gallery-nav--next{right:.7rem}.gallery-stage{min-height:430px}.gallery-stage img{min-height:430px;height:min(62vh,560px)}.gallery-stage figcaption{left:.8rem;right:.8rem;bottom:.8rem}.gallery-strip button{flex-basis:76px;height:68px}}
