/* PrimeHotDeals Phase 2 homepage and shared components. */
.phd-header-inner{display:flex;align-items:center;gap:1.5rem;min-height:4.5rem}.phd-site-header{position:relative;z-index:20;padding-block:.8rem}.phd-brand{display:flex;flex-direction:column;min-width:max-content;line-height:1.2}.phd-brand-link{display:flex;align-items:center;gap:.45rem;color:var(--phd-white);text-decoration:none}.phd-brand-mark{font-size:1.35rem}.phd-brand-name{font-weight:850;letter-spacing:-.045em;font-size:1.35rem}.phd-brand-name span,.phd-footer-logo span{color:var(--phd-color-accent-on-dark)}.phd-brand-tagline{margin-top:.2rem;color:#c7cbd0;font-size:.72rem}.phd-custom-logo img{max-height:3.4rem;width:auto}.phd-primary-navigation{margin-left:auto}.phd-menu,.phd-footer-menu{display:flex;align-items:center;gap:clamp(.7rem,1.4vw,1.4rem);padding:0;margin:0;list-style:none}.phd-menu a{display:inline-flex;align-items:center;min-height:2.75rem;color:#f4f5f6;font-size:.9rem;font-weight:600;text-decoration:none;transition:color var(--phd-motion-duration) ease}.phd-menu a:hover,.phd-menu a:focus-visible{color:var(--phd-color-accent-on-dark)}.phd-header-search .search-form{display:flex;align-items:center;gap:.35rem}.phd-header-search label{display:block}.phd-header-search .search-field{width:clamp(9rem,15vw,15rem);min-height:2.65rem;border:1px solid #555c63;border-radius:.45rem;padding:.6rem .75rem;background:#fff;color:#20252a;font:inherit;font-size:.84rem}.phd-header-search .search-submit{min-height:2.65rem;border:0;border-radius:.45rem;padding:.55rem .8rem;background:var(--phd-color-accent);color:#fff;font-weight:750;cursor:pointer}.phd-menu-toggle{display:none;border:1px solid #59616a;border-radius:.45rem;background:transparent;color:white;padding:.65rem;min-width:2.75rem;min-height:2.75rem}.phd-menu-toggle-lines{display:grid;gap:4px}.phd-menu-toggle-lines i{display:block;width:1.2rem;height:2px;background:currentColor}.phd-hero{overflow:hidden;background:radial-gradient(ellipse at 78% 45%,rgba(255,138,61,.13),transparent 32%),linear-gradient(125deg,#171b20 0%,#222830 60%,#171b20 100%);color:#fff}.phd-hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(19rem,.96fr);align-items:center;gap:clamp(2rem,5vw,5rem);min-height:31rem;padding-block:clamp(3rem,6vw,5.5rem)}.phd-hero-copy{max-width:40rem}.phd-eyebrow,.phd-section-kicker{display:flex;align-items:center;gap:.55rem;margin:0 0 1rem;color:var(--phd-color-accent-on-dark);font-size:.75rem;font-weight:850;letter-spacing:.12em}.phd-eyebrow-dot{width:.5rem;height:.5rem;border-radius:50%;background:#ff8a3d;box-shadow:0 0 0 .3rem rgba(255,138,61,.12)}.phd-hero h1{max-width:12ch;margin:0;font-size:clamp(2.6rem,5.2vw,4.65rem);font-weight:850;letter-spacing:-.065em;line-height:1.02}.phd-hero h1 span{color:var(--phd-color-accent-on-dark)}.phd-hero-description{max-width:35rem;margin:1.4rem 0 1.7rem;color:#d6d9de;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.7}.phd-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.phd-button{display:inline-flex;justify-content:center;align-items:center;gap:.65rem;min-height:3rem;padding:.8rem 1.15rem;border-radius:.5rem;text-decoration:none;font-size:.92rem;font-weight:800;transition:transform var(--phd-motion-duration) ease,background-color var(--phd-motion-duration) ease}.phd-button:hover{transform:translateY(-2px)}.phd-button-primary{background:var(--phd-color-accent);color:#fff;border:1px solid var(--phd-color-accent)}.phd-button-primary:hover{background:var(--phd-color-accent-hover);color:#fff}.phd-button-quiet{border:1px solid #626971;color:#fff;background:rgba(255,255,255,.035)}.phd-button-quiet:hover{background:rgba(255,255,255,.09);color:#fff}.phd-hero-trust{display:flex;align-items:center;gap:.55rem;margin-top:1.5rem;color:#c5cbd1;font-size:.83rem}.phd-hero-trust span{display:inline-grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:50%;background:#244c3c;color:#9af0bd;font-weight:900}.phd-hero-art{position:relative;display:grid;place-items:center;min-height:24rem;isolation:isolate}.phd-art-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:rotate(-24deg)}.phd-art-orbit-one{width:min(100%,25rem);height:19rem}.phd-art-orbit-two{width:min(88%,22rem);height:23rem;transform:rotate(34deg)}.phd-art-card{position:absolute;display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.2);border-radius:1.25rem;box-shadow:0 2rem 4rem rgba(0,0,0,.28)}.phd-art-card-back{top:15%;right:8%;width:45%;height:35%;padding:1rem;background:linear-gradient(135deg,#f8b178,#c65b22);transform:rotate(9deg);color:#fff}.phd-art-small-label{font-size:.7rem;font-weight:850;letter-spacing:.12em}.phd-art-spark{align-self:flex-end;font-size:4rem;line-height:1}.phd-art-card-main{left:10%;top:20%;width:70%;min-height:17rem;padding:1.5rem;background:linear-gradient(145deg,#303740,#171b20 80%);transform:rotate(-5deg)}.phd-art-icon{display:grid;place-items:center;width:4.25rem;height:4.25rem;border-radius:1.1rem;background:var(--phd-color-accent);color:white;font-size:2.5rem;font-weight:900;box-shadow:0 .7rem 2rem rgba(194,65,12,.3)}.phd-art-card-title{margin-top:1.6rem;font-size:1.6rem;font-weight:850;letter-spacing:-.04em}.phd-art-card-subtitle{margin-top:.35rem;color:#c8cdd3;font-size:.9rem}.phd-art-bars{display:flex;align-items:flex-end;gap:.38rem;height:2.8rem;margin-top:1.3rem}.phd-art-bars i{display:block;width:9%;border-radius:.3rem .3rem 0 0;background:linear-gradient(#ffb47e,#f56b1c)}.phd-art-bars i:nth-child(1){height:32%}.phd-art-bars i:nth-child(2){height:50%}.phd-art-bars i:nth-child(3){height:39%}.phd-art-bars i:nth-child(4){height:70%}.phd-art-bars i:nth-child(5){height:55%}.phd-art-bars i:nth-child(6){height:88%}.phd-art-bars i:nth-child(7){height:67%}.phd-art-bars i:nth-child(8){height:100%}.phd-art-floating{position:absolute;z-index:2;display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border:1px solid #e3e5e8;border-radius:.65rem;background:#fff;color:#22272d;box-shadow:0 .8rem 2rem rgba(0,0,0,.18);font-size:.8rem;font-weight:800}.phd-art-floating span{color:var(--phd-color-accent);font-size:1.15rem}.phd-art-floating-top{top:8%;left:0}.phd-art-floating-bottom{right:0;bottom:10%}.phd-benefits{background:#fff;border-bottom:1px solid var(--phd-color-border)}.phd-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:1.6rem}.phd-benefit{display:flex;align-items:center;justify-content:center;gap:.85rem;padding:.6rem 1rem}.phd-benefit+.phd-benefit{border-left:1px solid var(--phd-color-border)}.phd-benefit-icon{display:grid;place-items:center;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;border-radius:.75rem;background:#fff1e8;color:var(--phd-color-accent);font-size:1.55rem;font-weight:800}.phd-benefit h2{margin:0;font-size:.95rem}.phd-benefit p{margin:.15rem 0 0;color:var(--phd-color-text-muted);font-size:.78rem}.phd-section,.phd-category-section{padding-block:clamp(3.5rem,6vw,5.5rem)}.phd-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2rem}.phd-section-kicker{margin-bottom:.55rem;color:var(--phd-color-accent);font-size:.7rem}.phd-section-heading h2{margin:0;color:var(--phd-color-text);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:850;letter-spacing:-.05em;line-height:1.12}.phd-section-heading p:not(.phd-section-kicker){margin:.6rem 0 0;color:var(--phd-color-text-muted)}.phd-text-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--phd-color-accent);font-size:.88rem;font-weight:800;text-decoration:none;white-space:nowrap}.phd-text-link:hover{color:var(--phd-color-accent-hover);text-decoration:underline;text-underline-offset:.2em}.phd-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.phd-content-card{overflow:hidden;border:1px solid #e3e6e9;border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1.3rem rgba(22,28,35,.035);transition:transform var(--phd-motion-duration) ease,box-shadow var(--phd-motion-duration) ease}.phd-content-card:hover{transform:translateY(-3px);box-shadow:0 .8rem 1.8rem rgba(22,28,35,.08)}.phd-content-card-media,.phd-starter-art{display:grid;place-items:center;min-height:11rem;background:linear-gradient(135deg,#fff4eb,#f1f3f5)}.phd-content-card-media img{display:block;width:100%;height:11rem;object-fit:cover}.phd-placeholder-art,.phd-starter-art span{display:grid;place-items:center;width:5rem;height:5rem;border-radius:1.25rem;background:#fff;color:var(--phd-color-accent);font-size:2.7rem;box-shadow:0 .8rem 1.8rem rgba(25,30,35,.08)}.phd-content-card-body{padding:1.3rem}.phd-card-kicker{margin:0 0 .6rem;color:var(--phd-color-accent);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.phd-content-card h3{margin:0 0 .55rem;font-size:1.17rem;line-height:1.3;letter-spacing:-.02em}.phd-content-card h3 a{color:var(--phd-color-text);text-decoration:none}.phd-content-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--phd-color-accent);text-underline-offset:.2em}.phd-content-card-body>p:not(.phd-card-kicker){margin:0;color:var(--phd-color-text-muted);font-size:.9rem;line-height:1.65}.phd-content-card-body .phd-text-link{margin-top:1rem}.phd-category-section{background:#f5f6f7}.phd-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.phd-category-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:10.5rem;padding:1.25rem;border:1px solid #e1e4e7;border-radius:.8rem;background:#fff;color:var(--phd-color-text);text-decoration:none;transition:border-color var(--phd-motion-duration) ease,transform var(--phd-motion-duration) ease,box-shadow var(--phd-motion-duration) ease}.phd-category-card:hover{transform:translateY(-3px);border-color:#f0a274;box-shadow:0 .7rem 1.5rem rgba(22,28,35,.07)}.phd-category-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin-bottom:1rem;border-radius:.75rem;background:#fff0e6;color:var(--phd-color-accent);font-size:1.65rem;font-weight:800}.phd-category-name{font-size:.95rem;font-weight:850}.phd-category-description{margin-top:.2rem;color:var(--phd-color-text-muted);font-size:.78rem}.phd-category-arrow{position:absolute;top:1rem;right:1rem;color:#a2a8ae}.phd-disclosure-strip{padding-block:1.25rem;background:#fff8f2;border-top:1px solid #f4dfcf}.phd-disclosure-inner{display:flex;align-items:center;gap:1rem}.phd-disclosure-icon{display:grid;place-items:center;flex:0 0 2.4rem;height:2.4rem;border-radius:50%;background:#ffe8d6;color:var(--phd-color-accent);font-size:1.2rem;font-weight:800}.phd-disclosure-inner p{flex:1;margin:0;color:#4e5358;font-size:.84rem;line-height:1.6}.phd-disclosure-inner p strong{color:#272c31}.phd-disclosure-inner>a{color:var(--phd-color-accent);font-size:.84rem;font-weight:800;text-decoration:none;white-space:nowrap}.phd-site-footer{padding-top:3rem;background:#14171a;color:#d9dde1}.phd-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:3rem;padding-bottom:2.5rem}.phd-footer-logo{color:#fff;font-size:1.4rem;font-weight:850;letter-spacing:-.04em;text-decoration:none}.phd-footer-brand p,.phd-footer-note p{max-width:24rem;color:#b9c0c7;font-size:.9rem;line-height:1.7}.phd-footer-grid h2{margin:0 0 1rem;color:#fff;font-size:.95rem}.phd-footer-menu{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.phd-footer-menu li{list-style:none}.phd-footer-menu a{color:#cbd0d5;font-size:.88rem;text-decoration:none}.phd-footer-menu a:hover{color:#ffb47e;text-decoration:underline}.phd-footer-default-links{margin-top:1rem}.phd-footer-bottom{border-top:1px solid #34393e;padding-block:1rem}.phd-footer-bottom p{margin:0;color:#b9c0c7;font-size:.8rem}.phd-main{min-height:45vh}.phd-empty-state{padding:3rem 0}.phd-empty-state h2{font-size:1.6rem}.phd-content-grid-list{margin-bottom:2rem}
@media(max-width:1050px){.phd-header-inner{gap:1rem;flex-wrap:wrap}.phd-primary-navigation{order:3;width:100%;margin-left:0}.phd-menu{justify-content:center}.phd-header-search{margin-left:auto}.phd-hero-grid{gap:2rem}.phd-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.phd-benefit{padding-inline:.5rem}}
@media(max-width:720px){.phd-header-inner{display:grid;grid-template-columns:1fr auto;gap:.8rem}.phd-brand-tagline{font-size:.68rem}.phd-menu-toggle{display:inline-grid;place-items:center;grid-column:2;grid-row:1}.phd-primary-navigation{display:none;grid-column:1/-1;grid-row:2;width:100%;margin:0}.phd-primary-navigation.is-open{display:block}.phd-menu{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.35rem 0;border-top:1px solid #3c4249}.phd-menu li{width:100%}.phd-menu a{display:flex;padding:.3rem .4rem}.phd-header-search{grid-column:1/-1;grid-row:3;margin:0}.phd-header-search .search-form{width:100%}.phd-header-search .search-field{width:100%}.phd-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:3.2rem 2.5rem}.phd-hero h1{max-width:13ch;font-size:clamp(2.5rem,11vw,4rem)}.phd-hero-art{min-height:19rem;margin-top:.25rem}.phd-art-card-main{left:12%;top:17%;width:72%;min-height:15rem;padding:1.2rem}.phd-art-card-title{margin-top:1rem;font-size:1.35rem}.phd-art-floating-top{left:0;top:4%}.phd-art-floating-bottom{right:0;bottom:4%}.phd-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-block:.8rem}.phd-benefit{justify-content:flex-start;padding:.8rem .35rem}.phd-benefit:nth-child(3){border-left:0}.phd-benefit:nth-child(n+3){border-top:1px solid var(--phd-color-border)}.phd-section-heading{align-items:flex-start;flex-direction:column;gap:1rem}.phd-content-grid{grid-template-columns:1fr}.phd-content-card-media,.phd-starter-art{min-height:9rem}.phd-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phd-category-card{min-height:9.5rem;padding:1rem}.phd-disclosure-inner{align-items:flex-start;flex-wrap:wrap}.phd-disclosure-inner p{flex-basis:calc(100% - 3.5rem)}.phd-disclosure-inner>a{margin-left:3.4rem}.phd-footer-grid{grid-template-columns:1fr;gap:1.6rem;padding-bottom:2rem}}
@media(max-width:380px){.phd-category-grid{grid-template-columns:1fr}.phd-hero-actions{flex-direction:column;align-items:stretch}.phd-button{width:100%}.phd-art-floating{font-size:.7rem;padding:.6rem .7rem}}
@media(prefers-reduced-motion:reduce){.phd-button,.phd-content-card,.phd-category-card,.phd-menu a{transition:none}.phd-button:hover,.phd-content-card:hover,.phd-category-card:hover{transform:none}}


/* Live deal cards rendered by the PrimeHotDeals Core plugin. */
.phd-deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.phd-deal-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;border:1px solid #e3e6e9;border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1.3rem rgba(22,28,35,.035);transition:transform var(--phd-motion-duration) ease,box-shadow var(--phd-motion-duration) ease}
.phd-deal-card:hover{transform:translateY(-3px);box-shadow:0 .8rem 1.8rem rgba(22,28,35,.08)}
.phd-deal-image{display:grid;place-items:center;min-height:11rem;background:linear-gradient(135deg,#fff4eb,#f1f3f5)}
.phd-deal-image img{display:block;width:100%;height:11rem;object-fit:cover}
.phd-deal-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.25rem}
.phd-deal-card h3{margin:0 0 .65rem;font-size:1.12rem;line-height:1.35;letter-spacing:-.02em}
.phd-deal-card h3 a{color:var(--phd-color-text);text-decoration:none}
.phd-deal-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--phd-color-accent);text-underline-offset:.2em}
.phd-deal-price{display:flex;align-items:center;gap:.6rem;margin:.1rem 0 1rem;color:var(--phd-color-text);font-size:1.05rem}
.phd-deal-price strong{font-size:1.25rem;color:var(--phd-color-accent);font-weight:850}
.phd-deal-price del{color:var(--phd-color-text-muted);font-size:.88rem}
.phd-deal-card .phd-button{margin-top:auto}
.phd-deal-expired{margin:0 0 1rem;padding:.65rem .75rem;border-radius:.45rem;background:#fff4e5;color:#7b3d08;font-size:.83rem;line-height:1.5}
.phd-deals-empty{margin:0;padding:1.2rem 1.4rem;border:1px dashed #d8dde2;border-radius:.75rem;background:#fafbfc;color:var(--phd-color-text-muted);line-height:1.65}
@media(max-width:760px){.phd-deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.phd-deal-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.phd-deal-card{transition:none}.phd-deal-card:hover{transform:none}}

/* Phase 4: subtle motion and accessible scroll reveals. */
@keyframes phd-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes phd-soft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.phd-motion-ready .phd-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.phd-motion-ready .phd-reveal.is-visible{opacity:1;transform:translateY(0)}
.phd-hero-copy{animation:phd-fade-up .65s ease both}
.phd-hero-art{animation:phd-fade-up .8s .1s ease both}
.phd-art-card-back{animation:phd-soft-float 5s ease-in-out infinite}
.phd-art-floating-top{animation:phd-soft-float 4.5s .3s ease-in-out infinite}
.phd-art-floating-bottom{animation:phd-soft-float 5.5s .7s ease-in-out infinite}
.phd-deal-card,.phd-content-card,.phd-category-card{will-change:transform}
.phd-deal-card:hover .phd-deal-image img,.phd-content-card:hover .phd-content-card-media img{transform:scale(1.035)}
.phd-deal-image img,.phd-content-card-media img{transition:transform .45s ease}
.phd-button,.phd-deal-card .phd-button,.phd-header-search .search-submit{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}
.phd-button:hover,.phd-deal-card .phd-button:hover,.phd-header-search .search-submit:hover{box-shadow:0 .45rem 1.1rem rgba(194,65,12,.2)}
@media(prefers-reduced-motion:reduce){
 .phd-motion-ready .phd-reveal{opacity:1;transform:none;transition:none}
 .phd-hero-copy,.phd-hero-art,.phd-art-card-back,.phd-art-floating-top,.phd-art-floating-bottom{animation:none!important}
 .phd-deal-card,.phd-content-card,.phd-category-card,.phd-button,.phd-deal-image img,.phd-content-card-media img,.phd-header-search .search-submit{transition:none!important;will-change:auto}
 .phd-deal-card:hover .phd-deal-image img,.phd-content-card:hover .phd-content-card-media img{transform:none}
}

/* Phase 5: single deal and archive layouts */
.phd-deal-single-wrap,.phd-deals-archive{padding-block:2.2rem 4rem}
.phd-breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:0 0 1.6rem;color:var(--phd-color-text-muted);font-size:.82rem}
.phd-breadcrumbs a{color:var(--phd-color-accent);text-decoration:none}.phd-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:.2em}
.phd-deal-detail{border:1px solid var(--phd-color-border);border-radius:1rem;background:#fff;overflow:hidden;box-shadow:0 .7rem 2.2rem rgba(22,28,35,.055)}
.phd-deal-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(1.1rem,3vw,2.5rem)}
.phd-deal-detail-media{display:grid;place-items:center;min-height:18rem;border-radius:.8rem;background:linear-gradient(135deg,#fff4eb,#f1f3f5);overflow:hidden}.phd-deal-detail-image{display:block;width:100%;height:100%;max-height:34rem;object-fit:contain}.phd-deal-detail-placeholder{font-size:5rem;color:var(--phd-color-accent)}
.phd-deal-detail-content{display:flex;flex-direction:column;align-items:flex-start}.phd-deal-taxonomy-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.phd-deal-pill{display:inline-flex;padding:.35rem .65rem;border-radius:999px;background:#fff0e6;color:#9b3f0b;font-size:.73rem;font-weight:800;text-decoration:none}.phd-deal-pill-store{background:#eef1f4;color:#404951}
.phd-deal-detail-title{margin:0 0 1rem;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:850;letter-spacing:-.05em;line-height:1.08;color:var(--phd-color-text)}
.phd-deal-detail-prices{display:flex;align-items:baseline;flex-wrap:wrap;gap:.65rem;margin:.25rem 0 1rem}.phd-deal-price-current{font-size:2rem;font-weight:900;letter-spacing:-.04em;color:#1c6a43}.phd-deal-price-regular{font-size:1rem;color:#737b83;text-decoration:line-through}.phd-deal-discount{padding:.35rem .55rem;border-radius:.4rem;background:#e8f6ee;color:#1c6a43;font-size:.78rem;font-weight:850}
.phd-deal-summary{margin:0 0 1rem;color:var(--phd-color-text-muted);line-height:1.7}.phd-deal-summary p{margin:0}.phd-deal-retailer-button{margin-top:.25rem}.phd-deal-affiliate-note,.phd-deal-expiry,.phd-deal-no-link{max-width:36rem;color:var(--phd-color-text-muted);font-size:.8rem;line-height:1.6}.phd-deal-expiry{margin-top:.2rem}.phd-deal-expired-notice{padding:.55rem .7rem;border-radius:.45rem;background:#fff1e8;color:#8b390b;font-size:.8rem;font-weight:750}.phd-deal-description{padding:1.5rem clamp(1.1rem,3vw,2.5rem) 2rem;border-top:1px solid var(--phd-color-border)}.phd-deal-description h2{font-size:1.4rem;letter-spacing:-.03em}.phd-related-deals{padding-top:3rem}.phd-related-deals .phd-deal-grid{margin-top:1rem}
.phd-archive-hero{max-width:48rem;padding-block:1.5rem 2.3rem}.phd-archive-hero h1{margin:.25rem 0 .8rem}.phd-archive-hero>p:last-child{color:var(--phd-color-text-muted);line-height:1.7}
.phd-archive-deal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.phd-archive-deal-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e3e6e9;border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1.3rem rgba(22,28,35,.035);transition:transform var(--phd-motion-duration) ease,box-shadow var(--phd-motion-duration) ease}.phd-archive-deal-card:hover{transform:translateY(-3px);box-shadow:0 .8rem 1.8rem rgba(22,28,35,.08)}.phd-archive-deal-media{display:grid;place-items:center;height:13rem;overflow:hidden;background:linear-gradient(135deg,#fff4eb,#f1f3f5);text-decoration:none}.phd-archive-deal-media img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.phd-archive-deal-card:hover .phd-archive-deal-media img{transform:scale(1.035)}.phd-archive-deal-media span{font-size:3rem;color:var(--phd-color-accent)}.phd-archive-deal-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:1.2rem}.phd-archive-deal-body h2{margin:0 0 .65rem;font-size:1.12rem;line-height:1.35}.phd-archive-deal-body h2 a{color:var(--phd-color-text);text-decoration:none}.phd-archive-deal-body h2 a:hover{color:var(--phd-color-accent)}.phd-archive-prices{display:flex;gap:.6rem;align-items:baseline;margin:0 0 .5rem}.phd-archive-prices strong{color:#1c6a43;font-size:1.2rem}.phd-archive-prices del{color:#737b83;font-size:.88rem}.phd-archive-excerpt{margin:0 0 1rem;color:var(--phd-color-text-muted);font-size:.88rem;line-height:1.6}.phd-archive-deal-body .phd-button{margin-top:auto}.phd-pagination{padding-top:2rem}.phd-pagination .nav-links{display:flex;flex-wrap:wrap;gap:.5rem}.phd-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;padding:.4rem .65rem;border:1px solid var(--phd-color-border);border-radius:.45rem;color:var(--phd-color-text);text-decoration:none}.phd-pagination .page-numbers.current{background:var(--phd-color-accent);border-color:var(--phd-color-accent);color:#fff}
@media(max-width:800px){.phd-deal-detail-grid{grid-template-columns:1fr}.phd-deal-detail-media{min-height:14rem}.phd-archive-deal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.phd-archive-deal-grid{grid-template-columns:1fr}.phd-archive-deal-media{height:14rem}.phd-deal-detail-title{font-size:1.9rem}.phd-deal-price-current{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){.phd-archive-deal-card,.phd-archive-deal-media img{transition:none!important}.phd-archive-deal-card:hover,.phd-archive-deal-card:hover .phd-archive-deal-media img{transform:none}}

/* Phase 6: archive search and filters */
.phd-deal-filters{display:grid;grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr) minmax(10rem,1fr) auto;gap:.9rem;align-items:end;padding:1.1rem;margin:0 0 1rem;border:1px solid var(--phd-color-border);border-radius:.85rem;background:#fff;box-shadow:0 .35rem 1.2rem rgba(22,28,35,.035)}
.phd-deal-filters label{display:block;margin:0 0 .4rem;font-size:.8rem;font-weight:750;color:var(--phd-color-text)}
.phd-deal-filters input,.phd-deal-filters select{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid #cfd5da;border-radius:.45rem;background:#fff;color:var(--phd-color-text);font:inherit;font-size:.9rem}
.phd-deal-filters input:focus,.phd-deal-filters select:focus{outline:3px solid rgba(216,75,9,.2);border-color:var(--phd-color-accent)}
.phd-filter-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.phd-filter-actions .phd-button{white-space:nowrap;min-height:2.8rem}.phd-filter-reset{font-size:.8rem;font-weight:700;color:var(--phd-color-accent);text-decoration:none}.phd-results-count{margin:0 0 1.2rem;color:var(--phd-color-text-muted);font-size:.9rem}.phd-archive-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem}.phd-archive-tags .phd-card-kicker{margin:0}.phd-store-chip{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:#eef1f4;color:#3c454d;font-size:.68rem;font-weight:750}.phd-filter-empty{margin-block:1.5rem 3rem;padding:2rem;border:1px dashed var(--phd-color-border);border-radius:.8rem}.phd-filter-empty .phd-button{display:inline-flex;margin-top:.5rem}
@media(max-width:900px){.phd-deal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.phd-filter-search{grid-column:1/-1}.phd-filter-actions{flex-direction:row;align-items:center;flex-wrap:wrap}}
@media(max-width:520px){.phd-deal-filters{grid-template-columns:1fr;padding:.9rem}.phd-filter-search{grid-column:auto}.phd-filter-actions{flex-direction:column;align-items:stretch}.phd-filter-actions .phd-button{justify-content:center}}


/* ==========================================================================
   Shopping journey: scroll-driven, pinned with position:sticky (no JS pinning)
   Layout: heading + diagram + step cards live inside ONE pinned stage that
   fills the viewport, so there is never an empty strip above or below it.
   ========================================================================== */

.phd-journey-section {
	--journey-run: 200vh; /* extra scroll distance while pinned */
	position: relative;
	padding: clamp(2rem, 4vw, 3.5rem) 0;
	background: radial-gradient(ellipse at 50% 0%, #fff0e5 0%, #fff 62%);
	overflow-x: clip; /* "clip", not "hidden": hidden would break position:sticky */
}

.phd-journey-visual { position: relative; }

.phd-journey-heading { max-width: 48rem; margin: 0 auto 1.25rem; text-align: center; }
.phd-journey-heading h2 { margin: .25rem 0 .7rem; font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.055em; line-height: 1.08; }
.phd-journey-heading > p:last-child { max-width: 42rem; margin-inline: auto; color: var(--phd-color-text-muted); line-height: 1.75; }

/* ---- Scene ------------------------------------------------------------- */
.phd-story-scene {
	--story-progress: 0;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	height: clamp(23rem, 62vw, 26rem);
	border: 1px solid #f0e0d5;
	border-radius: 1.5rem;
	background: radial-gradient(ellipse at 50% 45%, #fff 0%, #fff8f3 63%, #fff0e5 100%);
	box-shadow: 0 1.2rem 3rem rgba(45, 35, 28, .07);
	container-type: size; /* lets the cards scale with the scene height (cqh) */
}

/* Soft dotted backdrop that drifts slightly with scroll (transform only). */
.phd-story-scene::before {
	content: "";
	position: absolute;
	inset: 0 -60px;
	z-index: -1;
	background-image: radial-gradient(#f3d9c8 1px, transparent 1.4px);
	background-size: 26px 26px;
	opacity: .65;
	transform: translate3d(calc(var(--story-progress) * -40px), 0, 0);
}

.phd-story-progress { position: absolute; inset: 0 0 auto; z-index: 6; height: 3px; background: rgba(230, 90, 22, .12); }
.phd-story-progress span { display: block; height: 100%; background: #e65a16; transform: scaleX(var(--story-progress)); transform-origin: left; }

.phd-story-status {
	position: absolute; z-index: 6; top: .85rem; left: 50%;
	display: flex; align-items: center; gap: .5rem;
	max-width: 94%; padding: .35rem .85rem;
	transform: translateX(-50%);
	border: 1px solid #f0e0d5; border-radius: 2rem;
	background: rgba(255, 255, 255, .92);
	color: #535b63; font-size: .72rem; font-weight: 750; white-space: nowrap;
}
.phd-story-status > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.phd-story-status-dot { flex: none; width: .5rem; height: .5rem; border-radius: 50%; background: #e65a16; box-shadow: 0 0 0 .22rem #ffe8da; animation: phd-status-pulse 1.7s ease-in-out infinite; }

/* ---- Route ------------------------------------------------------------- */
.phd-story-route { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; }
.phd-story-route path { fill: none; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.phd-story-route-shadow { stroke: #f8dfce; stroke-width: 14; }
.phd-story-route-guide { stroke: #ecd3c2; stroke-width: 2; stroke-dasharray: 2 8; }
.phd-story-route-trail { stroke: #e65a16; stroke-width: 4; }

.phd-story-stop {
	position: absolute; z-index: 2; width: .8rem; height: .8rem; margin: -.4rem 0 0 -.4rem;
	border: 2px solid #ecc3a8; border-radius: 50%; background: #fff;
	transition: background-color .4s ease, border-color .4s ease, transform .4s ease;
}
.phd-story-stop.is-reached { border-color: #e65a16; background: #e65a16; transform: scale(1.2); }

/* ---- Cards (three columns = three steps) -------------------------------- */
.phd-story-cards {
	font-size: clamp(1rem, 3.5cqh, 1.4rem); /* grows with the scene height */
	position: absolute; z-index: 3; top: 3.25em; right: 1.25em; left: 1.25em;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1em; align-items: start;
}
.phd-story-col { display: flex; flex-direction: column; align-items: center; gap: .45em; min-width: 0; }
.phd-story-col--compare { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.4fr); align-items: stretch; width: 100%; }
.phd-story-card--compare .phd-story-card-icon { display: none; } /* keeps the text from being squeezed */
.phd-story-card--product { grid-column: 1 / -1; }

.phd-story-card {
	display: flex; align-items: center; gap: .6em; min-width: 0;
	padding: .5em .7em;
	border: 1px solid #e6e8eb; border-radius: .75em;
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 .5em 1.4em rgba(42, 38, 34, .08);
	color: #22272d;
}
.phd-story-card strong, .phd-story-card small { display: block; }
.phd-story-card strong { font-size: .82em; line-height: 1.25; }
.phd-story-card small { margin-top: .12em; color: #68717a; font-size: .68em; line-height: 1.3; }
.phd-story-card-icon { flex: none; display: grid; place-items: center; width: 2.1em; height: 2.1em; border-radius: .6em; background: #fff0e5; color: #d84b09; font-size: 1.25em; line-height: 1; }
.phd-story-card-icon.is-green { background: #e1f5e9; color: #176c43; }
.phd-story-check { flex: none; display: grid; place-items: center; width: 1.4em; height: 1.4em; margin-left: auto; border-radius: 50%; background: #e1f5e9; color: #177245; font-size: .8em; font-weight: 900; }

.phd-story-card--price { flex-direction: column; align-items: stretch; gap: 0; }
.phd-story-card--price strong { margin-top: .1em; color: #176c43; font-size: 1em; }
.phd-story-bar { position: relative; display: block; height: .28em; margin-top: .35em; overflow: hidden; border-radius: 1em; background: #f1f2f3; }
.phd-story-bar::after { content: ""; position: absolute; inset: 0; width: var(--fill, 75%); border-radius: inherit; background: #9fd6b6; transform-origin: left; }
.phd-story-card--a { --fill: 72%; }
.phd-story-card--b { --fill: 88%; }

/* Inactive / active states. Only applied once JS has started (.is-animated),
   so without JS, or with reduced motion, every card is simply visible. */
.is-animated .phd-story-col { opacity: .3; transform: scale(.96); transition: opacity .5s ease, transform .6s cubic-bezier(.2, .75, .2, 1); }
.is-animated .phd-story-card { transform: translateY(.6em); transition: transform .6s cubic-bezier(.2, .75, .2, 1); }
.is-animated .phd-story-bar::after { transform: scaleX(0); transition: transform .8s cubic-bezier(.2, .75, .2, 1) .25s; }
.is-animated .phd-story-check { transform: scale(0); transition: transform .4s cubic-bezier(.3, 1.6, .5, 1) .35s; }

.is-animated .phd-story-col.is-active { opacity: 1; transform: none; }
.is-animated .phd-story-col.is-active .phd-story-card { transform: none; }
.is-animated .phd-story-col.is-active .phd-story-card:nth-child(2) { transition-delay: .07s; }
.is-animated .phd-story-col.is-active .phd-story-card:nth-child(3) { transition-delay: .14s; }
.is-animated .phd-story-col.is-active .phd-story-card:nth-child(4) { transition-delay: .21s; }
.is-animated .phd-story-col.is-active .phd-story-bar::after { transform: none; }
.is-animated .phd-story-col.is-active .phd-story-check { transform: none; }

/* ---- Shopper ----------------------------------------------------------- */
.phd-story-shopper {
	position: absolute; z-index: 8; top: 0; left: 0;
	width: 7rem; height: 10rem;
	pointer-events: none;
	transform-origin: 50% 90%; /* the feet; JS sets translate + scale */
	will-change: transform;
}
.phd-journey-visual:not(.is-js) .phd-story-shopper { display: none; }
.phd-shopper-inner { position: absolute; inset: 0; animation: phd-bob 2.2s ease-in-out infinite; }
.phd-shopper-shadow { position: absolute; bottom: .55rem; left: 10%; width: 80%; height: .9rem; border-radius: 50%; background: rgba(40, 45, 50, .14); filter: blur(4px); }
.phd-shopper-head { position: absolute; z-index: 3; top: .55rem; left: 2.25rem; width: 2.4rem; height: 2.65rem; border: 2px solid #9b5f42; border-radius: 48% 48% 45% 45%; background: #c9855d; }
.phd-shopper-hair { position: absolute; z-index: 4; top: .35rem; left: 2.15rem; width: 2.6rem; height: 1.15rem; border-radius: 60% 60% 25% 20%; background: #382820; transform: rotate(-4deg); }
.phd-shopper-body { position: absolute; z-index: 2; top: 3rem; left: 1.65rem; width: 3.65rem; height: 3.7rem; border-radius: 1.1rem 1.1rem .6rem .6rem; background: linear-gradient(120deg, #f07838, #d94b0b); box-shadow: inset -8px 0 rgba(130, 45, 10, .12); }
.phd-shopper-arm { position: absolute; z-index: 1; top: 3.35rem; left: 4.5rem; width: 1rem; height: 3.4rem; border-radius: 1rem; background: #c9855d; transform: rotate(-20deg); transform-origin: top; animation: phd-arm 2.6s ease-in-out infinite; }
.phd-shopper-leg { position: absolute; z-index: 1; top: 6.2rem; width: 1.05rem; height: 2.8rem; border-radius: .8rem; background: #344b66; transform-origin: top; }
.phd-shopper-leg-one { left: 2.15rem; }
.phd-shopper-leg-two { left: 3.55rem; }
.phd-shopper-bag { position: absolute; z-index: 4; top: 4.25rem; right: -.25rem; display: grid; place-items: center; width: 2.2rem; height: 2.3rem; border: 2px solid #f0a274; border-radius: .45rem; background: #fff; box-shadow: 0 .4rem 1rem rgba(198, 91, 34, .13); font-size: 1.25rem; }

/* Legs and body bounce only while the shopper is actually moving. */
.phd-story-shopper.is-walking .phd-shopper-inner { animation: phd-bob-walk .42s ease-in-out infinite; }
.phd-story-shopper.is-walking .phd-shopper-leg-one { animation: phd-walk-a .42s ease-in-out infinite alternate; }
.phd-story-shopper.is-walking .phd-shopper-leg-two { animation: phd-walk-b .42s ease-in-out infinite alternate; }
.phd-story-shopper.is-walking .phd-shopper-arm { animation-duration: .84s; }

/* Pause every decorative loop when the section is off-screen. */
.phd-journey-visual:not(.is-inview) :is(.phd-shopper-inner, .phd-shopper-arm, .phd-shopper-leg, .phd-story-status-dot) { animation-play-state: paused; }

@keyframes phd-status-pulse { 50% { box-shadow: 0 0 0 .4rem #ffe8da; } }
@keyframes phd-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes phd-bob-walk { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes phd-arm { 0%, 100% { transform: rotate(-20deg); } 50% { transform: rotate(3deg); } }
@keyframes phd-walk-a { from { transform: rotate(-16deg); } to { transform: rotate(16deg); } }
@keyframes phd-walk-b { from { transform: rotate(16deg); } to { transform: rotate(-16deg); } }
@keyframes phd-col-in { from { opacity: 0; transform: translateY(.6rem); } }

/* ---- Step cards (real content, compact) ------------------------------- */
.phd-journey-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .9rem; margin-top: 1rem; }
.phd-journey-step {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .85rem; align-content: start;
	padding: .85rem 1.1rem;
	border: 1px solid rgba(220, 225, 230, .9); border-radius: 1rem;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 .8rem 2rem rgba(24, 30, 36, .06);
	transition: border-color .3s ease, box-shadow .3s ease;
}
.phd-journey-step-number { position: absolute; top: .9rem; right: 1.1rem; color: #a0a7ad; font-size: .72rem; font-weight: 850; letter-spacing: .08em; }
.phd-journey-step-icon { grid-row: 1 / span 4; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: .7rem; background: linear-gradient(135deg, #fff0e5, #ffe0cb); color: #c8460a; font-size: 1.35rem; font-weight: 800; }
.phd-journey-step h3 { margin: 0 0 .2rem; padding-right: 1.6rem; font-size: 1.05rem; letter-spacing: -.02em; }
.phd-journey-step p { margin: 0 0 .35rem; color: var(--phd-color-text-muted); font-size: .84rem; line-height: 1.5; }
.phd-journey-step > a { grid-column: 2; color: var(--phd-color-accent); font-size: .84rem; font-weight: 800; text-decoration: none; }
.phd-journey-step > a:hover { text-decoration: underline; text-underline-offset: .2em; }
.phd-journey-step-note { grid-column: 2; display: block; padding: .4rem .55rem; border-radius: .5rem; background: #f5f6f7; color: #58616a; font-size: .74rem; line-height: 1.45; }
.is-animated[data-story-step="0"] .phd-journey-step[data-journey-step="0"],
.is-animated[data-story-step="1"] .phd-journey-step[data-journey-step="1"],
.is-animated[data-story-step="2"] .phd-journey-step[data-journey-step="2"] { border-color: #f1a77f; box-shadow: 0 1rem 2.4rem rgba(200, 80, 20, .13); }

.phd-journey-disclaimer { margin: .8rem auto 0; color: var(--phd-color-text-muted); font-size: .78rem; line-height: 1.5; text-align: center; }

/* ---- Pinned layout (large screens, enough height, motion allowed) ------- */
@media (min-width: 60em) and (min-height: 45em) and (prefers-reduced-motion: no-preference) {
	.phd-journey-section { padding: 0; }
	.phd-journey-track { height: calc(100vh + var(--journey-run)); height: calc(100svh + var(--journey-run)); }
	.phd-journey-pin { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; height: 100vh; height: 100svh; }
	.phd-journey-inner { display: flex; flex-direction: column; justify-content: center; height: 100%; padding-block: 1rem; }
	.phd-journey-heading { margin-bottom: .9rem; }
	.phd-journey-heading h2 { margin: .15rem 0 .45rem; font-size: clamp(1.7rem, 3vw, 2.5rem); }
	.phd-journey-heading > p:last-child { max-width: 46rem; font-size: .95rem; line-height: 1.6; }
	/* The scene takes whatever height is left, so the stage always fills the viewport. */
	.phd-story-scene { flex: 1 1 auto; height: auto; min-height: 20rem; max-height: 36rem; }
	.phd-journey-disclaimer { margin-top: .6rem; font-size: .75rem; }
}

/* ---- Small screens: one step at a time, normal page flow ---------------- */
@media (max-width: 59.99em) {
	.phd-story-scene { height: clamp(22rem, 70vw, 24rem); }
	.phd-journey-visual:not(.is-animated) .phd-story-scene { display: none; } /* step cards below carry the content */
	.phd-story-cards { grid-template-columns: minmax(0, 22rem); justify-content: center; }
	.is-animated .phd-story-col { display: none; opacity: 1; transform: none; }
	.is-animated .phd-story-col.is-active { display: flex; animation: phd-col-in .5s ease both; }
	.is-animated .phd-story-col--compare.is-active { display: grid; }
	.phd-journey-steps { grid-template-columns: 1fr; max-width: 34rem; margin-inline: auto; }
	.phd-story-status { font-size: .68rem; }
}

/* ---- Reduced motion: static illustration, nothing moves ---------------- */
@media (prefers-reduced-motion: reduce) {
	.phd-story-shopper *, .phd-story-status-dot { animation: none !important; }
	.phd-story-col, .phd-story-card, .phd-story-check, .phd-story-bar::after, .phd-story-stop, .phd-journey-step { transition: none !important; }
	.phd-story-scene::before { transform: none; }
}

/* Phase 15: expanded footer navigation */
.phd-footer-grid-expanded{grid-template-columns:minmax(14rem,1.5fr) repeat(3,minmax(8rem,1fr));gap:clamp(1.25rem,3vw,3rem)}
.phd-footer-disclaimer{margin-top:.75rem;font-size:.8rem!important}
.phd-footer-navigation{min-width:0}
.phd-footer-navigation .phd-footer-menu{gap:.7rem}
.phd-footer-navigation .phd-footer-menu a{display:inline-block;line-height:1.5;text-underline-offset:.2em}
.phd-footer-navigation .phd-footer-menu a:focus-visible{outline:2px solid #ffb47e;outline-offset:3px;border-radius:2px}
@media(max-width:900px){.phd-footer-grid-expanded{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.phd-footer-brand{grid-column:1/-1}}
@media(max-width:520px){.phd-footer-grid-expanded{grid-template-columns:1fr;gap:1.5rem}.phd-footer-brand{grid-column:auto}}

/* Phase 16: accessible contact-form styling (Contact Form 7 / WPForms) */
.wpcf7,
.wpforms-container { max-width: 48rem; margin: 1.5rem auto; }
.wpcf7 form,
.wpforms-container form { display: grid; gap: 1rem; }
.wpcf7 form p { margin: 0 0 .9rem; }
.wpcf7 label,
.wpforms-container .wpforms-field-label { display: block; margin-bottom: .4rem; color: var(--phd-color-text, #20242a); font-weight: 700; }
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 select,
.wpcf7 textarea,
.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="url"],
.wpforms-container select,
.wpforms-container textarea { box-sizing: border-box; width: 100%; min-height: 2.9rem; padding: .75rem .85rem; border: 1px solid #cbd1d8; border-radius: .7rem; background: #fff; color: #20242a; font: inherit; }
.wpcf7 textarea,
.wpforms-container textarea { min-height: 9rem; resize: vertical; }
.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible,
.wpcf7 input[type="submit"]:focus-visible,
.wpforms-container input:focus-visible,
.wpforms-container select:focus-visible,
.wpforms-container textarea:focus-visible,
.wpforms-container button:focus-visible { outline: 3px solid #f3a16f; outline-offset: 2px; }
.wpcf7 input[type="submit"],
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit { min-height: 2.9rem; padding: .75rem 1.25rem; border: 0; border-radius: 999px; background: var(--phd-color-accent, #d94f12); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.wpcf7 input[type="submit"]:hover,
.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover { filter: brightness(.94); }
.wpcf7 .wpcf7-not-valid-tip,
.wpforms-container label.wpforms-error { display: block; margin-top: .35rem; color: #a32323; font-size: .9rem; }
.wpcf7 .wpcf7-response-output { margin: .75rem 0 0; padding: .8rem 1rem; border-radius: .65rem; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
@media (max-width: 520px) {
  .wpcf7 input[type="submit"],
  .wpforms-container button[type="submit"],
  .wpforms-container .wpforms-submit { width: 100%; }
}

/* Content hub pages: Stores, Categories, and Buying Guides */
.phd-hub-page{padding-block:clamp(2.5rem,5vw,4.5rem);min-height:45vh}
.phd-hub-hero{max-width:54rem;margin:0 0 2.25rem}
.phd-hub-hero .phd-eyebrow{margin:0 0 .75rem;color:var(--phd-color-accent);text-transform:uppercase}
.phd-hub-hero h1{margin:0 0 1rem;color:var(--phd-color-text);font-size:clamp(2rem,4vw,3rem);font-weight:850;letter-spacing:-.05em;line-height:1.1}
.phd-hub-hero>p:not(.phd-eyebrow),.phd-hub-intro{color:var(--phd-color-text-muted);font-size:1rem;line-height:1.75}
.phd-hub-intro p{margin:.5rem 0}
.phd-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.phd-hub-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:1.5rem;border:1px solid var(--phd-color-border);border-radius:.9rem;background:#fff;box-shadow:0 .35rem 1.3rem rgba(22,28,35,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.phd-hub-card:hover{transform:translateY(-3px);border-color:#f0a274;box-shadow:0 .8rem 1.8rem rgba(22,28,35,.09)}
.phd-hub-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;margin-bottom:1rem;border-radius:.75rem;background:#fff0e6;color:var(--phd-color-accent);font-size:1.5rem;font-weight:800}
.phd-hub-card h2{margin:0 0 .65rem;font-size:1.2rem;line-height:1.3}
.phd-hub-card h2 a{color:var(--phd-color-text);text-decoration:none;overflow-wrap:anywhere}
.phd-hub-card h2 a:hover,.phd-hub-card h2 a:focus-visible{color:var(--phd-color-accent);text-decoration:underline;text-underline-offset:.2em}
.phd-hub-card>p{margin:0 0 1.1rem;color:var(--phd-color-text-muted);font-size:.9rem}
.phd-hub-card .phd-text-link{margin-top:auto;white-space:normal}
.phd-hub-empty{padding:2rem;border:1px dashed var(--phd-color-border);border-radius:.9rem;background:#f7f8f9}
.phd-hub-empty h2{margin:0 0 .5rem;font-size:1.3rem}
.phd-hub-empty p{margin:0;color:var(--phd-color-text-muted);line-height:1.7}
@media(max-width:900px){.phd-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.phd-hub-page{padding-block:2rem}.phd-hub-grid{grid-template-columns:1fr;gap:1rem}.phd-hub-card{padding:1.25rem}}
