/* ==========================================================
   Peonies & Porcelain: theme styles (supplements theme.json)
   ========================================================== */
:root{
  --pp-ivory:#FAF6F1;--pp-card:#FDFAF6;--pp-plum:#482737;--pp-blush:#F5DAD7;
  --pp-gold:#B4935A;--pp-gold-dark:#A48355;--pp-muted:#674C58;--pp-border:#DCCBB1;--pp-input:#DECEBC;
  --pp-shadow-soft:0 10px 30px -14px rgba(72,39,55,.25);
  --pp-shadow-lift:0 22px 50px -20px rgba(72,39,55,.35);
}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--pp-gold);outline-offset:3px}
img{max-width:100%;height:auto}

/* ---------- Utility classes ---------- */
.pp-eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:var(--pp-gold);margin:0 0 .75rem}
.pp-center{text-align:center}
.pp-muted{color:var(--pp-muted)}
.pp-small{font-size:.9rem;line-height:1.7}
.pp-gold-em{color:var(--pp-gold);font-style:italic}
.pp-gold-rule{height:1px;width:96px;background:linear-gradient(90deg,transparent,var(--pp-gold),transparent);margin:1.5rem auto 0}
.pp-gold-rule-left{margin-left:0}
.pp-script{font-family:var(--wp--preset--font-family--script);color:var(--pp-gold);font-weight:400;line-height:1.2}
.pp-signature{font-size:2.25rem;margin:1.5rem 0 0}
.pp-blush-section{background:rgba(245,218,215,.4)}
.pp-section{padding:6rem 1.5rem}
.pp-section-tight{padding:0 1.5rem 6rem}
.pp-page-body{padding:0;box-sizing:border-box}
.pp-page-body .wp-block-post-content>*:not(.alignfull){padding-left:1.5rem;padding-right:1.5rem;box-sizing:border-box}
.pp-page-body{padding-top:4rem;padding-bottom:4rem}
.pp-peony{color:var(--pp-gold)}
.pp-peony svg{display:block;width:100%;height:auto}
.pp-peony-lg{width:64px;margin:0 auto}

/* ---------- Header ---------- */
.pp-header{position:sticky;top:0;z-index:50;background:rgba(250,246,241,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid rgba(220,203,177,.6)}
.admin-bar .pp-header{top:32px}
.pp-header{padding:0 1.5rem}
.pp-header-inner{min-height:80px;align-items:center;max-width:72rem;margin:0 auto;width:100%}
.pp-logo{font-family:var(--wp--preset--font-family--heading);font-size:1.5rem;letter-spacing:.02em;font-weight:500;color:var(--pp-plum);text-decoration:none;white-space:nowrap}
.pp-logo em{color:var(--pp-gold);font-style:italic}
.pp-nav .wp-block-navigation-item__content{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
.pp-nav .wp-block-navigation-item__content:hover,.pp-nav .current-menu-item>a{color:var(--pp-gold)}
.wc-block-mini-cart__button{color:var(--pp-plum)}
.wc-block-mini-cart__badge{background:var(--pp-gold);color:var(--pp-plum);font-weight:500}
.wc-block-mini-cart__drawer{background:var(--pp-ivory)}
.wc-block-mini-cart__title,.wc-block-mini-cart__drawer h2{font-family:var(--wp--preset--font-family--heading);font-weight:500}
.wc-block-mini-cart__footer .wc-block-components-button,.wc-block-components-button:not(.is-link){background:var(--pp-gold);color:var(--pp-plum);border-radius:999px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;box-shadow:var(--pp-shadow-soft)}
.wc-block-components-button:not(.is-link):hover{background:var(--pp-gold-dark);color:var(--pp-ivory)}

/* ---------- Buttons ---------- */
.wp-element-button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce button.button.alt,.woocommerce a.button.alt{
  transition:background .4s,color .4s,box-shadow .4s;border-radius:999px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;background:var(--pp-gold);color:var(--pp-plum);padding:.875rem 2rem;box-shadow:var(--pp-shadow-soft)}
.wp-element-button:hover,.wp-block-button__link:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--pp-gold-dark);color:var(--pp-ivory);box-shadow:var(--pp-shadow-lift)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--pp-plum);border:1px solid var(--pp-gold);box-shadow:none;padding:.8125rem 1.8125rem}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--pp-blush);color:var(--pp-plum)}

/* ---------- Forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],textarea,select,
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{
  border:1px solid var(--pp-input);border-radius:10px;background:var(--pp-card);padding:.75rem 1rem;font:inherit;font-size:.95rem;color:var(--pp-plum);width:100%;box-sizing:border-box}
input::placeholder,textarea::placeholder{color:rgba(72,39,55,.45)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--pp-gold);box-shadow:0 0 0 3px rgba(180,147,90,.2)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--pp-gold)}

/* ---------- Page header band (page.html, shop, posts) ---------- */
.pp-page-header{background:rgba(245,218,215,.4);padding:5rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.pp-page-header h1{font-size:clamp(2.75rem,5vw,3.75rem);margin:0}
.pp-page-header .pp-intro{font-size:1.125rem;color:var(--pp-muted);max-width:36rem;margin:1.5rem auto 0}
.pp-page-header .pp-peony{position:absolute;top:-1rem;right:-1.5rem;width:160px;opacity:.4;pointer-events:none}
@media(min-width:768px){.pp-page-header .pp-peony{width:224px}}

/* ---------- Hero ---------- */
.pp-hero{min-height:82vh;background:#F5DAD7;justify-content:flex-start;align-items:flex-end;padding:0!important}
.pp-hero .wp-block-cover__background{opacity:1!important;background:linear-gradient(to top,#FAF6F1 0%,rgba(250,246,241,.4) 55%,transparent 100%)!important}
.pp-hero .wp-block-cover__inner-container{max-width:72rem;margin:0 auto;padding:0 1.5rem 3.5rem;width:100%;text-align:left;box-sizing:border-box}
.pp-hero-text{max-width:36rem}
.pp-hero h1{margin:0}
.pp-hero-sub{color:var(--pp-muted);font-size:1.05rem;line-height:1.7;max-width:28rem;margin:1.5rem 0 0}
.pp-hero .wp-block-buttons{margin-top:2rem}
@media(min-width:768px){
  .pp-hero{align-items:center}
  .pp-hero .wp-block-cover__background{background:linear-gradient(to right,rgba(250,246,241,.95) 0%,rgba(250,246,241,.6) 45%,transparent 100%)!important}
  .pp-hero .wp-block-cover__inner-container{padding-bottom:0}
  .pp-hero-sub{font-size:1.125rem}
}

/* ---------- Home sections ---------- */
.pp-intro-text{font-family:var(--wp--preset--font-family--heading);font-style:italic;font-size:1.5rem;line-height:1.6;margin-top:1.5rem}
@media(min-width:768px){.pp-intro-text{font-size:1.875rem}}
.pp-section h2.pp-center{margin-top:.25rem}
.pp-section .wp-block-buttons{margin-top:3.5rem}
.pp-section .woocommerce,.pp-section .wp-block-shortcode{margin-top:3.5rem}

.pp-occasion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:3rem}
.pp-occasion-tile{height:7rem;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid rgba(180,147,90,.4);background:rgba(250,246,241,.7);border-radius:16px;text-align:center;transition:all .5s;padding:0!important}
.pp-occasion-tile:hover{background:var(--pp-ivory);box-shadow:var(--pp-shadow-soft)}
.pp-occasion-tile p{margin:0;font-family:var(--wp--preset--font-family--heading);font-size:1.5rem;line-height:1.2}
.pp-occasion-tile a{text-decoration:none;color:var(--pp-plum)}
.pp-occasion-tile a::after{content:"";position:absolute;inset:0}
.pp-occasion-tile::after{content:"";display:block;width:32px;height:1px;background:var(--pp-gold);margin-top:.5rem;transition:width .5s}
.pp-occasion-tile:hover::after{width:64px}
@media(min-width:768px){.pp-occasion-grid{grid-template-columns:repeat(3,1fr)}.pp-occasion-tile{height:9rem}.pp-occasion-tile p{font-size:1.875rem}}

.pp-steps{margin-top:3.5rem;gap:3rem}
.pp-step-circle{width:64px;height:64px;border:1px solid rgba(180,147,90,.6);border-radius:999px;display:grid;place-items:center;margin:0 auto;color:var(--pp-gold)}
.pp-steps .pp-eyebrow{margin-top:1.5rem}
.pp-steps h3{margin-top:.5rem}
.pp-steps .pp-small{max-width:20rem;margin:.75rem auto 0}

.pp-about-cols{align-items:center;gap:3rem}
.pp-about-img{overflow:hidden;border-radius:16px;box-shadow:var(--pp-shadow-soft);margin:0}
.pp-about-img img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;display:block;border-radius:0;transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
.pp-about-img:hover img{transform:scale(1.04)}
.pp-about-cols .pp-gold-rule{margin-top:1.5rem}
.pp-about-cols .pp-muted{margin-top:1.5rem}

/* Testimonial carousel (falls back to a stacked list without JS) */
.pp-carousel{max-width:48rem;margin:0 auto}
.pp-slides{margin-top:2rem}
.pp-slide{margin-bottom:2.5rem}
.pp-quote{font-family:var(--wp--preset--font-family--heading);font-style:italic;font-size:1.5rem;line-height:1.5;text-align:center;margin:0}
@media(min-width:768px){.pp-quote{font-size:1.875rem}}
.pp-quote-name{font-size:.72rem;letter-spacing:.25em;color:var(--pp-muted);text-align:center;margin:1.5rem 0 0;text-transform:uppercase}
.pp-carousel.is-carousel .pp-slides{display:grid}
.pp-carousel.is-carousel .pp-slide{grid-area:1/1;opacity:0;transition:opacity 1s;pointer-events:none;margin:0}
.pp-carousel.is-carousel .pp-slide.is-active{opacity:1;pointer-events:auto}
.pp-carousel-controls{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:1.5rem}
.pp-carousel-controls button{background:none;border:0;box-shadow:none;color:var(--pp-gold);cursor:pointer;font-size:1.75rem;line-height:1;padding:0 .25rem}
.pp-dots{display:flex;gap:.5rem;align-items:center}
.pp-dots .pp-dot{height:6px;width:6px;padding:0;border-radius:999px;background:rgba(180,147,90,.4);transition:all .3s;font-size:0}
.pp-dots .pp-dot.is-active{width:24px;background:var(--pp-gold)}

.pp-newsletter{position:relative;overflow:hidden;max-width:56rem;margin-left:auto;margin-right:auto;border-radius:24px;background:rgba(245,218,215,.6);text-align:center;padding:4rem 1.5rem}
.pp-newsletter h2{margin-top:.75rem}
.pp-news-text{max-width:28rem;margin:1rem auto 0}
.pp-peony-corner{width:160px;position:absolute;top:-2rem;right:-2rem;opacity:.3;pointer-events:none}
.pp-newsletter .wpforms-container{max-width:28rem;margin:2rem auto 0}
.pp-newsletter .wpforms-form{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}
.pp-newsletter .wpforms-field-container{flex:1 1 14rem;padding:0}
.pp-newsletter .wpforms-field{padding:0!important}
.pp-newsletter .wpforms-field input{border-radius:999px!important;max-width:100%!important;width:100%!important}
.pp-newsletter .wpforms-submit-container{padding:0;margin:0}
.pp-newsletter .wpforms-submit{background:var(--pp-gold)!important;color:var(--pp-plum)!important;border:0!important;border-radius:999px!important;padding:14px 32px!important;font-size:12.5px!important;letter-spacing:.2em;text-transform:uppercase;font-weight:500;box-shadow:var(--pp-shadow-soft)}
.pp-newsletter .wpforms-submit:hover{background:var(--pp-gold-dark)!important;color:var(--pp-ivory)!important}

/* ---------- Footer ---------- */
.pp-footer{background:var(--pp-plum);color:var(--pp-ivory);position:relative;overflow:hidden;padding:4rem 1.5rem 2rem}
.pp-footer>.pp-footer-cols,.pp-footer>.pp-footer-bottom{max-width:72rem;margin-left:auto;margin-right:auto}
.pp-footer-cols{gap:3rem}
.pp-footer .pp-peony{position:absolute;left:-4rem;bottom:-4rem;width:256px;opacity:.2;pointer-events:none}
.pp-footer a{color:rgba(250,246,241,.8);text-decoration:none}
.pp-footer a:hover{color:var(--pp-gold)}
.pp-footer .pp-logo{color:var(--pp-ivory)}
.pp-footer p{margin:0 0 .5rem;font-size:.9rem;color:rgba(250,246,241,.8)}
.pp-footer .pp-eyebrow{margin-bottom:1rem}
.pp-footer-brand{max-width:20rem}
.pp-footer-links{list-style:none;margin:0;padding:0}
.pp-footer-links li{margin-bottom:.5rem;font-size:.9rem}
.pp-footer-bottom{border-top:1px solid rgba(250,246,241,.1);margin-top:3rem;padding-top:1.5rem;text-align:center}
.pp-footer-bottom p{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(250,246,241,.5);margin:0}
.pp-social.wp-block-social-links .wp-social-link{background:transparent;color:var(--pp-gold)}
.pp-social.wp-block-social-links .wp-social-link a{color:var(--pp-gold)}

/* ---------- Shop ---------- */
.pp-filters{margin-bottom:3rem}
.pp-chip-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.75rem}
.pp-chip{display:inline-block;padding:.4rem 1.1rem;border:1px solid var(--pp-border);border-radius:999px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--pp-plum);transition:all .3s}
.pp-chip:hover{border-color:var(--pp-gold)}
.pp-chip.is-active{background:var(--pp-gold);border-color:var(--pp-gold);color:var(--pp-plum)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{display:none}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(1,1fr);gap:3rem;margin:0;padding:0;list-style:none}
@media(min-width:640px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.woocommerce ul.products.columns-3,.woocommerce-page ul.products{grid-template-columns:repeat(3,1fr)}.pp-section ul.products.columns-4{grid-template-columns:repeat(4,1fr);gap:2.5rem}}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:center;position:relative}
.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;width:100%;height:auto;border-radius:16px;box-shadow:var(--pp-shadow-soft);margin:0;transition:transform 1.6s cubic-bezier(.2,.6,.2,1)}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:block;overflow:hidden;border-radius:16px}
.woocommerce ul.products li.product:hover a img{transform:scale(1.06)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--wp--preset--font-family--heading);font-weight:500;font-size:1.5rem;margin-top:1.25rem;padding:0;line-height:1.2}
.woocommerce ul.products li.product .price{color:var(--pp-gold);letter-spacing:.15em;font-size:.9rem;display:block;margin-top:.5rem}
.woocommerce ul.products li.product .button{margin-top:1rem}
.woocommerce span.onsale{background:var(--pp-gold);color:var(--pp-plum);border-radius:999px;min-height:auto;min-width:auto;line-height:1;padding:.5rem .9rem;font-size:.7rem;letter-spacing:.15em}

/* ---------- Single product ---------- */
.woocommerce div.product{margin-top:2rem}
.woocommerce div.product .product_title{font-size:clamp(2.25rem,4vw,3rem);margin-bottom:.5rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--pp-gold);letter-spacing:.1em;font-size:1.25rem}
.woocommerce div.product div.images img{border-radius:16px;box-shadow:var(--pp-shadow-soft)}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem;padding:0;list-style:none}
.woocommerce div.product .flex-control-thumbs li{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .flex-control-thumbs img{border-radius:12px;border:2px solid transparent;opacity:.7;transition:all .3s;box-shadow:none}
.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{border-color:var(--pp-gold);opacity:1}
.woocommerce-product-details__short-description,.woocommerce-Tabs-panel{color:var(--pp-muted);line-height:1.8}
.woocommerce-product-details__short-description h2,.woocommerce-product-details__short-description h3,.woocommerce-Tabs-panel h2{font-family:var(--wp--preset--font-family--heading);color:var(--pp-plum);font-size:1.5rem;margin:1.5rem 0 .75rem}
.woocommerce-product-details__short-description ul,.woocommerce-Tabs-panel ul{list-style:none;padding:0;margin:0}
.woocommerce-product-details__short-description li,.woocommerce-Tabs-panel li{display:flex;gap:.75rem;margin-bottom:.5rem;font-size:.9rem}
.woocommerce-product-details__short-description li::before,.woocommerce-Tabs-panel li::before{content:"";flex:0 0 16px;height:1px;background:var(--pp-gold);margin-top:.8em}
.woocommerce div.product form.cart{margin:1.5rem 0}
.woocommerce div.product form.cart .single_add_to_cart_button{width:100%;margin-top:1rem}
.woocommerce .quantity .qty{width:5rem;border-radius:999px;text-align:center}
.pp-gift-options{margin-bottom:1rem}
.pp-field-label{display:block;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pp-gold);margin-bottom:.5rem}
.pp-addon{display:flex;align-items:center;gap:.75rem;border:1px solid var(--pp-border);border-radius:12px;padding:.75rem 1rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .3s;font-size:.9rem}
.pp-addon:hover{border-color:var(--pp-gold)}
.pp-addon span:nth-of-type(1){flex:1}
.pp-addon-price{color:var(--pp-gold)}
.pp-delivery-box{background:rgba(245,218,215,.4);border-radius:16px;padding:1.5rem;font-size:.9rem;line-height:1.7;margin-top:1.5rem}
.pp-delivery-box h3{font-size:1.5rem;margin:0 0 .5rem}
.pp-delivery-box p{margin:0;color:var(--pp-muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:3rem 0 1.5rem;text-align:center;display:flex;justify-content:center;gap:1.5rem;border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;padding:0;margin:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pp-plum);padding:.5rem 0;font-weight:400}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--pp-gold);border-bottom:1px solid var(--pp-gold)}
.related.products>h2{text-align:center;font-size:clamp(2rem,3.5vw,2.75rem);margin:4rem 0 2.5rem}

/* ---------- Cart & checkout (classic and block) ---------- */
.woocommerce-cart table.cart,.woocommerce table.shop_table{border:1px solid var(--pp-border);border-radius:16px;border-collapse:separate;overflow:hidden;background:var(--pp-card)}
.woocommerce table.shop_table th{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--pp-gold)}
.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order,.wc-block-components-sidebar{background:rgba(245,218,215,.4);border-radius:16px;padding:1.5rem}
.woocommerce-checkout h3,.woocommerce-cart h2{font-size:1.75rem}
.woocommerce-message,.woocommerce-info{border-top-color:var(--pp-gold);background:var(--pp-card);color:var(--pp-plum)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--pp-gold)}
.woocommerce-checkout #payment{background:var(--pp-card);border-radius:12px}
.woocommerce-checkout #payment div.payment_box{background:var(--pp-blush);color:var(--pp-plum)}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--pp-blush)}

/* ---------- FAQ (core Details block) ---------- */
.wp-block-details{background:var(--pp-card);border:1px solid var(--pp-border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1rem}
.wp-block-details summary{font-family:var(--wp--preset--font-family--heading);font-size:1.25rem;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"+";color:var(--pp-gold);font-size:1.5rem;transition:transform .3s}
.wp-block-details[open] summary::after{transform:rotate(45deg)}
.wp-block-details>*:not(summary){color:var(--pp-muted);margin-top:.75rem}

/* ---------- Prose pages ---------- */
.pp-prose{max-width:42rem;margin-left:auto;margin-right:auto;color:var(--pp-muted);line-height:1.8}
.pp-prose h2{font-size:1.875rem;margin-top:2.5rem;color:var(--pp-plum)}

/* ---------- Motion ---------- */
.pp-fade{opacity:0;transform:translateY(18px);transition:opacity 1s ease,transform 1s ease}
.pp-fade.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .pp-fade{opacity:1;transform:none}
}

/* ---------- Split hero (real hero photo) ---------- */
.pp-hero-split{padding:3rem 1.5rem 5rem;background:linear-gradient(135deg,rgba(245,218,215,.55),rgba(250,246,241,0) 70%)}
.pp-hero-cols{align-items:center;gap:3rem;margin:0}
.pp-hero-split h1{margin:0}
.pp-hero-split .pp-hero-text{max-width:34rem}
.pp-hero-split .pp-hero-sub{color:var(--pp-muted);font-size:1.05rem;line-height:1.7;max-width:28rem;margin:1.5rem 0 0}
.pp-hero-split .wp-block-buttons{margin-top:2rem}
.pp-hero-img{margin:0;overflow:hidden;border-radius:16px;box-shadow:var(--pp-shadow-lift)}
.pp-hero-img img{width:100%;height:auto;max-height:78vh;object-fit:cover;display:block;border-radius:0}
@media(min-width:768px){.pp-hero-split{padding-top:4rem}.pp-hero-split .pp-hero-sub{font-size:1.125rem}}

/* ---------- Contact ---------- */
.pp-contact-cols{gap:4rem;align-items:flex-start}
.pp-contact-cols h2{margin:0}
.pp-contact-cols .pp-muted{margin:1.25rem 0 0;line-height:1.7}
.pp-contact-cols .pp-muted a{color:var(--pp-plum);text-decoration:underline;text-decoration-color:rgba(180,147,90,.5);text-underline-offset:3px}
.pp-contact-cols .pp-muted a:hover{color:var(--pp-gold)}
.pp-contact-cols .pp-social{margin-top:1.5rem}
div.wpforms-container-full .wpforms-form .wpforms-field-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--pp-gold);font-weight:400}
div.wpforms-container-full .wpforms-form input[type=text],div.wpforms-container-full .wpforms-form input[type=email],div.wpforms-container-full .wpforms-form textarea{border:1px solid var(--pp-input)!important;border-radius:10px!important;background:var(--pp-card)!important;color:var(--pp-plum)!important;max-width:100%!important;width:100%!important}
div.wpforms-container-full .wpforms-form button[type=submit]{background:var(--pp-gold)!important;color:var(--pp-plum)!important;border:0!important;border-radius:999px!important;padding:14px 32px!important;font-size:12.5px!important;letter-spacing:.2em;text-transform:uppercase;font-weight:500;box-shadow:var(--pp-shadow-soft);height:auto!important}
div.wpforms-container-full .wpforms-form button[type=submit]:hover{background:var(--pp-gold-dark)!important;color:var(--pp-ivory)!important}

/* ===== Mobile hardening (v1.0.1) ===== */
.wp-site-blocks{overflow-x:clip}
img,svg,video,iframe{max-width:100%}

/* Decorative peonies sit behind the text, never over it */
.pp-page-header .pp-peony,.pp-newsletter .pp-peony,.pp-footer .pp-peony{z-index:0}
.pp-page-header>*:not(.pp-peony),.pp-newsletter>*:not(.pp-peony),.pp-footer>*:not(.pp-peony){position:relative;z-index:1}

/* Tablet and large phones: keep the header on one line */
@media(min-width:601px) and (max-width:1000px){
  .pp-logo{font-size:1.25rem}
  .pp-nav .wp-block-navigation-item__content{font-size:.68rem;letter-spacing:.14em}
  .pp-nav .wp-block-navigation__container{gap:1rem}
}

/* WordPress admin bar is taller on small screens */
@media(max-width:781px){.admin-bar .pp-header{top:46px}}

/* Phones */
@media(max-width:600px){
  .admin-bar .pp-header{top:0}
  .pp-header{padding:0 1rem}
  .pp-header-inner{min-height:64px;gap:.5rem}
  .pp-logo{font-size:1.1rem;letter-spacing:.01em}
  .pp-header-right{gap:.25rem;flex:0 0 auto}
}

/* Everything below the tablet breakpoint stacks cleanly */
@media(max-width:781px){
  .pp-section{padding:4rem 1.25rem}
  .pp-section-tight{padding:0 1.25rem 4rem}
  .pp-page-header{padding:3.5rem 1.25rem}
  .pp-hero-split{padding:2rem 1.25rem 3rem}
  .pp-footer{padding:3rem 1.25rem 1.5rem}
  .pp-newsletter{padding:3rem 1.25rem}
  .pp-hero-cols,.pp-about-cols,.pp-contact-cols,.pp-footer-cols,.pp-steps{gap:2rem}
  .wp-block-columns{flex-wrap:wrap!important}
  .wp-block-columns>.wp-block-column{flex-basis:100%!important}
  .pp-hero-img img{max-height:60vh}
  .pp-peony-corner{width:110px;top:-1.5rem;right:-1.5rem}
  .pp-page-header .pp-peony{width:120px;right:-1rem}
  .pp-quote{font-size:1.35rem}
  .pp-occasion-tile{height:6rem}
  .pp-occasion-tile p{font-size:1.35rem}
  .pp-intro-text{font-size:1.35rem}
  h1,h2,h3{overflow-wrap:break-word}
  .woocommerce ul.products{gap:2rem}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.35rem}
}

/* ===== Mobile menu fix (v1.1.2) =====
   backdrop-filter on the sticky header traps the full-screen menu and cart drawer
   inside the 64px header, so everything overlaps. The blur moves to a pseudo-element. */
.pp-header{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.pp-header::before{content:"";position:absolute;inset:0;background:rgba(250,246,241,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:-1;pointer-events:none}

/* The opened mobile menu: ivory full screen, large serif links */
.wp-block-navigation__responsive-container.is-menu-open{background:var(--pp-ivory);color:var(--pp-plum);padding:1.5rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:2.5rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:center;gap:1.25rem;width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-family:var(--wp--preset--font-family--heading);font-size:1.9rem;letter-spacing:.01em;text-transform:none;color:var(--pp-plum);text-align:center}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover{color:var(--pp-gold)}
.wp-block-navigation__responsive-container-close,.wp-block-navigation__responsive-container-open{color:var(--pp-plum);padding:.5rem}

/* ===== Centered mobile menu (v1.1.3) ===== */
.wp-block-navigation__responsive-container.is-menu-open{display:flex;flex-direction:column}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog{position:static;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;width:100%;min-height:100%;padding:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{display:flex;flex-direction:column;align-items:center!important;justify-content:center!important;text-align:center;width:100%;padding:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{display:flex;flex-direction:column;align-items:center!important;justify-content:center!important;text-align:center;width:100%;margin:0 auto}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{display:flex;justify-content:center;align-items:center;width:100%;text-align:center}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{display:block;width:100%;text-align:center}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close{position:absolute;top:1rem;right:1rem}
