/* Only the prepared product catalogue surfaces. */
.cp-grid,.cp-campaign-grid,.cp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr));gap:1.1rem}
.cp-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d7cbb6;border-top:3px solid #c2a563;scroll-margin-top:1.5rem}
.cp-card img{width:100%;height:220px;object-fit:contain;background:#faf8f3;padding:1rem}
.cp-copy{display:flex;flex-direction:column;flex:1;padding:1.2rem;min-width:0}
.cp-copy h3{font-size:1.4rem;line-height:1.2;overflow-wrap:anywhere;margin:.2rem 0 .8rem}
.cp-copy p{margin:.3rem 0 .8rem}.cp-category{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#695421}
.cp-actions{display:grid;gap:.5rem;margin-top:auto;padding-top:1rem}
.cp-merchant{padding:.8rem;background:#171717;color:#fff!important;text-decoration:none;overflow-wrap:anywhere;min-height:48px}.cp-new-tab{font-size:.8em}
.cp-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;padding:1rem;background:#fff;border:1px solid #c2a563}
.cp-controls label{flex:1 1 230px;min-width:0;display:grid;gap:.4rem}.cp-controls input,.cp-controls select{width:100%;max-width:100%;font:inherit;padding:.7rem;min-height:48px;color:#171717;background:#fff;border:1px solid #786c55}
.cp-controls button{min-height:48px}.cp-controls p{flex-basis:100%;margin:.2rem 0}
.cp-card:target{outline:3px solid #a78232;outline-offset:4px}
.cp-grid [hidden],[data-product-section][hidden],#cp-empty[hidden],.cp-controls[hidden]{display:none!important}
.cp-campaign-grid>article,.cp-steps>article{padding:1.3rem;border:1px solid #d7cbb6;background:#fff;min-width:0}
.cp-campaign-grid h3{font-size:1.5rem}.cp-campaign-grid li{margin:.65rem 0;overflow-wrap:anywhere}
.cp-step-number{display:inline-grid;place-items:center;background:#171717;color:#ead3a1;width:2.5rem;height:2.5rem;border-radius:50%}
.cp-legacy-alias{display:none}.cp-legacy-alias:target{display:block;padding:1rem;background:#fff;border:2px solid #c2a563}
.cp-catalogue-link{font-size:1.2rem}.cp-catalogue-link a{display:inline-block;padding:.8rem;border:1px solid #a78232}
.cp-controls :focus-visible,.cp-card a:focus-visible,.cp-campaign-grid a:focus-visible,.cp-steps a:focus-visible{outline:3px solid #967126;outline-offset:4px}
@media(max-width:600px){.cp-controls>label,.cp-controls>button{flex-basis:100%;width:100%}.cp-copy{padding:1rem}.cp-card img{height:190px}}

.cp-weekly-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1.2rem}.cp-weekly-card{background:#fff;border:1px solid #c2a563;padding:1.3rem;display:grid;gap:1rem;align-content:start;min-width:0}.cp-weekly-card h3{font-size:1.5rem;margin:.4rem 0}.cp-weekly-identity{min-height:160px;background:#171717;color:#ead3a1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;text-align:center;padding:1.2rem}.cp-weekly-identity strong{font:2rem Georgia,serif}.cp-direct-references{padding:1rem;border:1px solid #c2a563;margin:1.2rem 0}.cp-direct-references ul{columns:2;column-gap:2rem}.cp-direct-references li{break-inside:avoid;margin:.6rem 0;overflow-wrap:anywhere}.cp-reference{display:block;padding:.7rem;border:1px solid #a78232}@media(max-width:600px){.cp-direct-references ul{columns:1}}

/* Explicit light-panel contrast; the surrounding black/gold identity is unchanged. */
.cp-card,.cp-controls,.cp-weekly-card,.cp-campaign-grid>article,.cp-steps>article,.cp-legacy-alias:target{color:#171717;background:#fff;color-scheme:light}
:is(.cp-card,.cp-controls,.cp-weekly-card,.cp-campaign-grid,.cp-steps,.cp-legacy-alias) :is(h2,h3,p,li,label){color:#171717}
:is(.cp-card,.cp-weekly-card,.cp-campaign-grid,.cp-steps,.cp-legacy-alias) a{color:#695421;text-decoration:underline;text-underline-offset:.2em}
:is(.cp-card,.cp-weekly-card,.cp-campaign-grid,.cp-steps,.cp-legacy-alias) a:hover{color:#171717}
.cp-copy .cp-category{color:#695421}
.cp-controls input,.cp-controls select{color:#171717;background:#fff;color-scheme:light}
.cp-controls input::placeholder{color:#595959;opacity:1}
.cp-controls button,.cp-card .cp-merchant,.cp-weekly-card .cp-merchant{color:#fff!important;background:#171717;border:1px solid #171717;text-decoration:none}
.cp-controls button:hover,.cp-card .cp-merchant:hover,.cp-weekly-card .cp-merchant:hover{color:#fff!important;background:#333}
.cp-weekly-identity,.cp-step-number{background:#171717;color:#ead3a1}
:is(.cp-card,.cp-controls,.cp-weekly-card,.cp-campaign-grid,.cp-steps,.cp-legacy-alias) :is(a,button,input,select):focus-visible{outline:3px solid #705216;outline-offset:4px}

/* 9 November owner review: larger imagery, clear categories, shopping below editorial. */
.cp-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem}
.cp-card img{height:320px;padding:1.2rem}
.cp-subnav{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0 2rem}
.cp-subnav a{border:1px solid #c2a563;padding:.7rem 1rem;text-decoration:none}
.cp-subtitle{font-size:1.8rem;margin:2.5rem 0 1.2rem;scroll-margin-top:1.5rem}
[data-product-subsection]{scroll-margin-top:1.5rem}
.cp-intro{max-width:75ch;font-size:1.2rem;line-height:1.6}
.cp-editorial{font-size:1.05rem;line-height:1.55}
.cp-buying-heading{font-weight:700}
.cp-purchase-details{border-top:1px solid #ddd3c1;padding-top:.7rem;margin-top:.7rem}
.cp-purchase-details p,.cp-purchase-detail{font-size:.85rem;line-height:1.45;color:#57534c!important}
.cp-controls button[hidden],[data-product-subsection][hidden]{display:none!important}
@media(max-width:600px){.cp-card img{height:280px}.cp-grid{grid-template-columns:1fr}}

.cp-back-to-rubrics{position:fixed;right:16px;bottom:16px;z-index:40;padding:.8rem 1rem!important;background:#171717;color:#f1d38b!important;border:1px solid #c2a563;box-shadow:0 3px 12px #0004;text-decoration:none!important;border-radius:4px;font-size:.95rem;min-height:44px}
.cp-back-to-rubrics:focus-visible{outline:3px solid #a78232;outline-offset:3px}
#frontrow-choices{scroll-margin-top:20px}
@media(max-width:600px){.cp-back-to-rubrics{right:10px;bottom:10px;font-size:.85rem;padding:.65rem .8rem!important}}

/* Full-width weekly placements: editorial selection, no sponsorship assertion. */
.cp-weekly-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.cp-weekly-card{display:grid;grid-template-columns:minmax(220px,40%) minmax(0,1fr);gap:2rem;align-items:center;padding:1.5rem}
.cp-weekly-visual{background:#faf8f3;padding:1rem;display:flex;align-items:center;justify-content:center}
.cp-weekly-visual img{width:100%;height:340px;object-fit:contain;background:#faf8f3}
.cp-weekly-copy{min-width:0}.cp-weekly-card .cp-weekly-benefit{font-size:2.1rem;line-height:1.15;margin:.5rem 0 1rem}
.cp-weekly-name{font-size:1.2rem;line-height:1.45}.cp-weekly-card .cp-actions{margin-top:1rem}
@media(max-width:650px){.cp-weekly-card{grid-template-columns:1fr;gap:1rem;padding:1rem}.cp-weekly-visual img{height:280px}.cp-weekly-card .cp-weekly-benefit{font-size:1.7rem}}

/* Four consistent feature introductions on Coups de coeur. */
.cp-feature-section>.cp-feature-heading{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.1rem,4.5vw,3.5rem);line-height:1.15;color:#f4eee2;margin:0 0 1.2rem;max-width:900px}
.cp-feature-section>.cp-intro{font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55;color:#efd488;margin:0 0 2rem;max-width:70ch}
.cp-feature-section{padding-top:2rem!important;padding-bottom:2rem!important}

/* Repeatable activation format using existing product imagery. */
.cp-activation-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}
.cp-campaign-grid>.cp-activation-card,.cp-activation-card{display:grid;grid-template-columns:minmax(260px,45%) minmax(0,1fr);gap:1.5rem;border:1px solid #c2a563;background:#191816;padding:1.4rem!important;align-items:center;color:#f4eee2}
.cp-activation-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.6rem;background:#fff;padding:1rem;align-items:start}
.cp-activation-products a{display:flex;flex-direction:column;align-items:center;color:#51411f!important;text-decoration:none!important;padding:.3rem!important;font-size:.8rem;line-height:1.4;text-align:center}
.cp-activation-products img{width:100%;height:200px;object-fit:contain;background:#fff}
.cp-activation-copy{min-width:0}.cp-activation-copy h3{font:400 clamp(1.7rem,3vw,2.5rem)/1.15 Georgia,serif!important;color:#f4eee2!important;margin:.4rem 0 1rem}
.cp-activation-copy p,.cp-activation-copy li{color:#f4eee2!important;line-height:1.6}
.cp-activation-copy .cp-activation-status{color:#efd488!important;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.cp-activation-copy .cp-activation-problem{font-size:1.2rem;font-weight:650}
.cp-activation-copy a{color:#efd488}.cp-activation-copy .button{color:#15120a!important;background:#e6c478;text-decoration:none!important}
.cp-activation-copy .cp-activation-scope{font-size:.85rem;color:#d6ccba!important}
.cp-activation-intro{font-size:1.45rem;line-height:1.4}
@media(max-width:700px){.cp-activation-card{grid-template-columns:1fr;padding:1rem!important}.cp-activation-products img{height:160px}}

/* Private review: long Dutch category labels must wrap on small screens. */
@media(max-width:480px){.cp-subtitle{overflow-wrap:anywhere;word-break:normal;}}
