/* Extensiones funcionales: conservan geometría y tokens del diseño existente. */
.cg-announcement { position: relative; }
.cg-announcement__group { display: flex; flex: none; align-items: center; min-width: 100vw; justify-content: space-around; }
.cg-announcement__group > span { display: inline-flex; gap: var(--cg-space-5); padding-left: var(--cg-space-5); }
.cg-announcement--animated .cg-announcement__track { animation: cg-ticker 60s linear infinite; }
.cg-announcement:hover .cg-announcement__track, .cg-announcement:focus-within .cg-announcement__track, .cg-announcement.is-paused .cg-announcement__track { animation-play-state: paused; }
.cg-announcement__pause { position:absolute;right:0;inset-block:0;background:var(--cg-pink);color:var(--cg-white);border:0;padding-inline:var(--cg-space-3);cursor:pointer; }
@keyframes cg-ticker { to { transform: translateX(-50%); } }
.cg-carousel { position:relative; }
.cg-carousel__slide[hidden], .cg-carousel__controls[hidden] { display:none; }
.cg-carousel__title { font-size:var(--cg-text-display);font-weight:var(--cg-weight-display);letter-spacing:var(--cg-tracking-display); }
.cg-hero .cg-carousel__title { margin:0 0 var(--cg-space-2);white-space:pre-line;line-height:var(--cg-hero-line); }
.cg-carousel__controls { position:absolute;inset-inline:0;bottom:var(--cg-space-2);display:flex;justify-content:flex-end;gap:var(--cg-space-2);pointer-events:none; }
.cg-carousel__controls button { pointer-events:auto;background:var(--cg-cream);color:var(--cg-forest);border:var(--cg-border-fine) solid currentColor;border-radius:var(--cg-radius-pill);min-height:44px;min-width:44px;padding:var(--cg-space-2) var(--cg-space-3);font:inherit;cursor:pointer; }
.cg-editorial .cg-editorial__panel { grid-template-columns:minmax(0,1fr); }
.cg-benefit a { color:inherit;text-decoration:none; }
.cg-product-card .cg-card-variation-form .cg-product-colors:not([hidden]) { display:flex; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; max-width:100%; gap:var(--cg-space-2); padding:var(--cg-space-1); scroll-snap-type:x proximity; }
.cg-product-card .cg-card-variation-form .cg-product-colors::-webkit-scrollbar { display:none; }
.cg-product-card .cg-card-variation-form .cg-product-colors button { width:var(--cg-target);flex:0 0 var(--cg-target);scroll-snap-align:start; }
.cg-product-card .cg-card-variation-form .variations td { min-width:0; }
.cg-product-card.has-selected-variation .cg-product-card__image-link .cg-product-image .cg-product-image__primary { opacity:1; }
.cg-product-card.has-selected-variation .cg-product-card__image-link .cg-product-image .cg-product-image__secondary { opacity:0; }
.cg-favorite { display:inline-flex;align-items:center;justify-content:center;width:var(--cg-target);height:var(--cg-target);padding:var(--cg-space-2);background:transparent;color:var(--cg-forest);border:0;border-radius:var(--cg-radius-pill);cursor:pointer; }
.cg-product-card__top .cg-favorite { margin-right:auto; pointer-events:auto; }
.cg-favorite[aria-pressed="true"] { color:var(--cg-pink); }
.cg-favorite[aria-pressed="true"] svg { fill:currentColor; }
.cg-favorite:focus-visible { outline:var(--cg-focus-width) solid var(--cg-sea); }
.cg-favorites-list a { color:inherit; }
.cg-favorites-list li { display:flex;align-items:center;gap:var(--cg-space-3);margin-block:var(--cg-space-2); }
.cg-site-footer { background:var(--cg-footer-background,var(--cg-forest));color:var(--cg-footer-text,var(--cg-cream)); }
.cg-site-footer h2, .cg-site-footer p, .cg-site-footer .cg-favorites-list a { color:inherit; }
@media(prefers-reduced-motion:reduce) { .cg-announcement--animated .cg-announcement__track { animation:none; } .cg-announcement__pause { display:none; } }
