/*
 * Charcuteried Boards: the product-page surfaces this plugin renders.
 *
 * These rules were inline PHP strings attached to the child theme's style
 * handle, which meant they were part of a .php file rather than a
 * stylesheet: no editor could read them, no linter could see them, and a
 * browser could not cache them. They were also the source of every product
 * page's colour, so the palette had to be edited in four places in four
 * different languages.
 *
 * Every value here is a token. The palette lives in blonwe-child/style.css
 * and nowhere else, so a colour changed once in :root is the colour the
 * whole plugin uses.
 */

ccb-highlights{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0;padding:0;
ccb-highlight{flex:1 1 12rem;padding:.75rem;background:var(--ccc-cream);border-radius:var(--ccc-radius);
ccb-highlight-title{display:block;color:var(--ccc-primary);
ccb-highlight-text{display:block;font-size:.85em;opacity:.8;
ccb-section-title{font-size:1.35rem;margin:2rem 0 .75rem;color:var(--ccc-ink);
ccb-accordion{border-top:1px solid color-mix(in srgb, var(--ccc-ink) 12%, transparent);
ccb-accordion:last-of-type{border-bottom:1px solid color-mix(in srgb, var(--ccc-ink) 12%, transparent);
ccb-accordion-summary{cursor:pointer;padding:.85rem 0;font-weight:600;list-style:none;
ccb-accordion-summary::-webkit-details-marker{display:none;
ccb-accordion-summary::before{content:"\203A";display:inline-block;margin-right:.5rem;transition:transform var(--ccc-duration-fast) var(--ccc-ease);
ccb-accordion[open]>.ccb-accordion-summary::before{transform:rotate(90deg);
ccb-accordion-body{padding:0 0 .85rem 1.25rem;font-size:.95rem;
ccb-ingredients-list{list-style:none;counter-reset:ccb;margin:0;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
ccb-ingredient-group{counter-increment:ccb;position:relative;padding-top:2rem;
ccb-ingredient-group::before{content:counter(ccb);position:absolute;top:0;left:0;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--ccc-primary);color:var(--ccc-cream);display:grid;place-items:center;font-size:.8rem;
ccb-ingredient-image img{width:100%;height:auto;border-radius:var(--ccc-radius);margin-bottom:.5rem;
ccb-ingredient-title{margin:0 0 .25rem;font-size:1.05rem;
ccb-ingredient-desc{margin:0 0 .5rem;font-size:.9rem;opacity:.75;
ccb-ingredient-items{margin:0;padding-left:1.1rem;font-size:.95rem;
ccb-disclaimer{margin-top:2rem;padding:.85rem 1rem;background:color-mix(in srgb, var(--ccc-primary) 6%, transparent);border-left:3px solid var(--ccc-primary);font-size:.9rem;
ccb-faq{margin-top:2rem;
ccb-card-cta{display:inline-block;margin-top:.4rem;
ccb-egift-button{display:block;margin:1rem 0;
ccb-egift-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
ccb-egift-modal[hidden]{display:none;
ccb-egift-backdrop{position:absolute;inset:0;background:color-mix(in srgb, var(--ccc-ink) 62%, transparent);
ccb-egift-panel{position:relative;background:var(--color-background,#fff);max-width:34rem;width:calc(100% - 2rem);padding:1.75rem;border-radius:var(--ccc-radius);max-height:90vh;overflow:auto;
ccb-egift-close{position:absolute;top:.25rem;right:.6rem;background:none;border:0;font-size:1.75rem;line-height:1;cursor:pointer;color:color-mix(in srgb, var(--ccc-ink) 40%, transparent);
ccb-egift-steps{display:flex;gap:.5rem;list-style:none;padding:0;margin:0 0 1.25rem;font-size:.8rem;
ccb-egift-steps li{flex:1;padding:.4rem;text-align:center;background:color-mix(in srgb, var(--ccc-ink) 6%, var(--ccc-cream));border-radius:.2rem;
ccb-egift-steps li.is-current{background:var(--ccc-primary);color:var(--ccc-cream);
ccb-egift-step{display:none;
ccb-egift-step.is-active{display:block;
ccb-egift-step label{display:block;font-weight:600;margin:.75rem 0 .25rem;
ccb-egift-step input,.ccb-egift-step textarea{width:100%;padding:.5rem;border:1px solid color-mix(in srgb, var(--ccc-ink) 14%, transparent);border-radius:var(--ccc-radius);
ccb-egift-hint{font-size:.85em;opacity:.75;
ccb-egift-preview{margin-top:1.25rem;padding:.85rem;background:var(--ccc-cream);border-radius:var(--ccc-radius);
ccb-egift-preview h4{margin:0 0 .35rem;
ccb-egift-actions{display:flex;gap:.5rem;margin-top:1.25rem;
ccb-egift-actions [data-step="1"],.ccb-egift-actions [data-step="2"]{display:none;
ccb-egift-error{margin-top:.75rem;color:var(--ccc-danger);
ccb-egift-error[hidden]{display:none;
ccb-personalization{margin:1rem 0;
ccb-personalization-label{display:block;font-weight:600;margin-bottom:.25rem;
ccb-required{color:var(--ccc-danger);
ccb-personalization-input{width:100%;max-width:14rem;padding:.5rem;border:1px solid color-mix(in srgb, var(--ccc-ink) 14%, transparent);border-radius:var(--ccc-radius);
ccb-personalization-help{margin:.35rem 0 0;font-size:.85em;opacity:.75;
ccb-edit-line{margin-left:.5rem;font-size:.85rem;
