/* Deliberately scoped; no Elementor, header, hero or global layout resets. */
.pppcf-addons { width:100%; min-width:0; }
.pppcf-addons .addon-card + .addon-card { margin-top:12px; }
.pppcf-addons .choice-copy { min-width:0; overflow-wrap:anywhere; }
.pppcf-addon-help { font-size:12px; line-height:1.6; margin:12px 0 0; color:var(--muted,#716962); }
.pppcf-details { margin:12px 0; width:100%; min-width:0; text-align:left; font-family:var(--sans,inherit); font-size:14px; line-height:1.65; color:var(--ink,#292725); overflow-wrap:anywhere; }
.pppcf-details > summary { cursor:pointer; font-weight:500; padding:4px 0; }
.pppcf-details > summary:focus-visible { outline:2px solid var(--rose-dark,#8f5551); outline-offset:4px; border-radius:4px; }
.pppcf-view-label { color:var(--rose-dark,#8f5551); text-decoration:underline; text-underline-offset:3px; }
.pppcf-detail-panel { max-height:360px; overflow:auto; padding:14px; margin-top:12px; border:1px solid var(--line,#e7dcd5); border-radius:12px; background:var(--paper,#fffaf7); }
.pppcf-details dl { display:block; margin:0!important; font-size:13px; }
.pppcf-details dt { float:none!important; margin:10px 0 2px!important; font-weight:600; }
.pppcf-details dt:first-child { margin-top:0!important; }
.pppcf-details dd { float:none!important; margin:0 0 10px!important; white-space:pre-wrap; overflow-wrap:anywhere; }
.wp-block-woocommerce-cart .pppcf-original-field-hidden { display:none!important; }
.pppcf-recommendations { width:100%; max-width:940px; margin:48px auto 20px; padding:0; clear:both; }
.pppcf-recommendations > h2 { font-family:var(--serif,Georgia,serif); font-size:clamp(28px,4vw,42px); line-height:1.15; font-weight:600; text-align:center; margin:0 0 24px; }
.pppcf-recommendation-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.pppcf-recommendation-card { min-width:0; overflow:hidden; border:1px solid var(--line,#e7dcd5); border-radius:18px; background:var(--paper,#fffaf7); box-shadow:0 8px 24px rgba(55,35,20,.05); }
.pppcf-recommendation-card .product-media { display:block; aspect-ratio:1.16; overflow:hidden; background:var(--cream,#f4ebe5); }
.pppcf-recommendation-card .product-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.pppcf-recommendation-card:hover .product-media img { transform:scale(1.025); }
.pppcf-card-copy { padding:22px; text-align:center; }
.pppcf-card-copy h3 { margin:0 0 10px; font-family:var(--serif,Georgia,serif); font-size:clamp(26px,3vw,34px); line-height:1.15; }
.pppcf-card-copy h3 a { color:inherit; text-decoration:none; }
.pppcf-card-price { margin:0 0 16px; font-size:16px; }
.pppcf-card-price ins { text-decoration:none; }
.pppcf-card-link { display:inline-flex; align-items:center; justify-content:center; padding:12px 20px; border-radius:999px; background:var(--rose-dark,#8f5551); color:#fff!important; text-decoration:none; font-size:13px; line-height:1.5; }
.pppcf-recommendations[hidden],.pppcf-recommendation-card[hidden] { display:none!important; }
.ppp-footer-socials > a[data-pppcf-social] { display:inline-flex; align-items:center; justify-content:center; }
.ppp-footer-socials > a[data-pppcf-social] svg,.pppcf-social-fallback svg { width:20px; height:20px; }
.pppcf-social-fallback { display:flex; gap:16px; justify-content:center; padding:16px; }
@media(max-width:640px) { .pppcf-recommendation-grid { grid-template-columns:minmax(0,1fr); gap:20px; } .pppcf-recommendations { margin-top:32px; } .pppcf-card-copy { padding:20px; } .pppcf-details { font-size:13px; } .pppcf-addons .addon-price { white-space:nowrap; } }
@media(prefers-reduced-motion:reduce) { .pppcf-recommendation-card .product-media img { transition:none; } }

.pppcf-mixed { background:conic-gradient(#d4acae,#aab69c,#a4b7c7,#d6c4a7,#d4acae); }

/* More reading room only for the enhanced Handpicked cart row on small screens. */
@media(max-width:767px) {
 body .wp-block-woocommerce-cart .wc-block-cart-items__row.pppcf-personalized-item { grid-template-columns:64px minmax(0,1fr); }
 body .wp-block-woocommerce-cart .pppcf-personalized-item .wc-block-cart-item__total { grid-column:2; grid-row:2; text-align:left; }
}
@media(max-width:359px) { body .wp-block-woocommerce-cart .wc-block-cart-items__row.pppcf-personalized-item { grid-template-columns:56px minmax(0,1fr); } }
