/* Composición de Home y estructura compartida; controles proceden de atoms.css. */
body:not(.wp-admin) { margin: 0; background: var(--cg-cream); }
.cg-home, .cg-site-header, .cg-site-footer, .cg-announcement { box-sizing: border-box; }
.cg-home *, .cg-site-header *, .cg-site-footer * { box-sizing: border-box; }
.cg-shell { width: 100%; max-width: var(--cg-site-max); padding-inline: var(--cg-gutter); margin-inline: auto; }
.cg-announcement { min-height: var(--cg-announcement-height); display: flex; align-items: center; overflow: hidden; background: var(--cg-pink); color: var(--cg-white); }
.cg-announcement__track { display: flex; flex: none; white-space: nowrap; font-size: var(--cg-text-caption); letter-spacing: var(--cg-tracking-caption); font-weight: var(--cg-weight-caption); }
.cg-announcement__track > span { display: inline-flex; align-items: center; gap: var(--cg-space-5); padding-left: var(--cg-space-5); }
.cg-skip-link { position: absolute; left: var(--cg-gutter); top: 0; transform: translateY(-150%); z-index: var(--cg-layer-overlay); background: var(--cg-white); color: var(--cg-forest); padding: var(--cg-space-4); }
.cg-skip-link:focus { transform: translateY(0); }
.cg-site-header { position: relative; z-index: var(--cg-layer-header); background: var(--cg-cream); }
.cg-header-inner { min-height: var(--cg-header-height); display: flex; align-items: center; justify-content: space-between; gap: var(--cg-space-4); }
.cg-brand { flex: 0 0 var(--cg-brand-width); width: var(--cg-brand-width); }
.cg-brand .custom-logo-link { display: block; }
.cg-brand img { display: block; width: 100%; height: auto; max-height: var(--cg-header-height); object-fit: contain; }
.cg-brand .cg-brand__asset { position: relative; aspect-ratio: var(--cg-logo-ink-ratio); overflow: hidden; }
.cg-brand .cg-brand__asset img { position: absolute; width: var(--cg-logo-canvas-width); max-width: none; max-height: none; height: auto; left: var(--cg-logo-canvas-left); top: var(--cg-logo-canvas-top); }
.cg-brand__missing { display: flex; align-items: center; min-height: var(--cg-target); aspect-ratio: var(--cg-brand-ratio); color: var(--cg-pink); font-size: var(--cg-text-caption); text-decoration: none; border: var(--cg-border-fine) dashed currentColor; padding: var(--cg-space-2); }
.cg-primary-nav { min-width: 0; }
.cg-primary-nav > ul, .cg-primary-nav .menu { display: flex; flex-wrap: wrap; align-items: center; gap: var(--cg-nav-gap); margin: 0; padding: 0; list-style: none; }
.cg-primary-nav li { position: relative; }
.cg-primary-nav a, .cg-primary-nav li > span { display: inline-flex; align-items: center; min-height: var(--cg-target); color: var(--cg-forest); text-decoration: none; font-size: var(--cg-text-nav); white-space: nowrap; }
.cg-primary-nav a:hover, .cg-primary-nav .current-menu-item > a { color: var(--cg-pink); text-decoration: underline; text-underline-offset: var(--cg-space-3); }
.cg-primary-nav .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: max-content; margin: 0; padding: var(--cg-space-3); background: var(--cg-cream); border: var(--cg-border-fine) solid var(--cg-sand); list-style: none; }
.cg-primary-nav li:hover > .sub-menu, .cg-primary-nav li:focus-within > .sub-menu { display: block; }
.cg-header-actions { display: flex; align-items: center; gap: var(--cg-space-2); flex: none; }
.cg-menu-toggle { display: none; }
.cg-header-actions .cg-button { font-size: var(--cg-text-caption); padding-inline: var(--cg-space-4); white-space: nowrap; }
.cg-search { position: relative; }
.cg-search summary { display: flex; align-items: center; justify-content: center; width: var(--cg-target); height: var(--cg-target); cursor: pointer; list-style: none; }
.cg-search summary::-webkit-details-marker { display: none; }
.cg-search__form { position: absolute; right: 0; top: 100%; display: grid; gap: var(--cg-space-4); width: min(var(--cg-search-width), calc(100vw - 2 * var(--cg-gutter))); background: var(--cg-cream); padding: var(--cg-space-5); border: var(--cg-border) solid var(--cg-forest); border-radius: var(--cg-radius-control); }
.cg-cart-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--cg-target); height: var(--cg-target); color: var(--cg-forest); text-decoration: none; }
.cg-cart-count { position: absolute; top: 0; right: 0; min-width: var(--cg-space-5); height: var(--cg-space-5); border-radius: var(--cg-radius-pill); background: var(--cg-pink); color: var(--cg-white); text-align: center; font-size: var(--cg-text-caption); line-height: var(--cg-space-5); }
.cg-site-header :where(a, button, summary):focus-visible, .cg-home a:focus-visible, .cg-site-footer a:focus-visible { outline: var(--cg-focus-width) solid var(--cg-sea); outline-offset: var(--cg-focus-offset); }
.cg-hero { position: relative; min-height: var(--cg-hero-height); background: var(--cg-cream); isolation: isolate; }
.cg-hero__photo { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.cg-hero__photo .cg-editorial-image { object-position: var(--cg-hero-position); }
.cg-hero__layout { min-height: var(--cg-hero-height); display: flex; align-items: center; }
.cg-hero__content { width: var(--cg-hero-copy); padding-block: var(--cg-space-4); min-width: 0; }
.cg-hero__content > .cg-type--caption, .cg-editorial__content > .cg-type--caption { margin: 0 0 var(--cg-space-4); }
.cg-hero h1 { margin: 0 0 var(--cg-space-2); white-space: pre-line; line-height: var(--cg-hero-line); }
.cg-editorial-description { margin: 0 0 var(--cg-space-3); white-space: pre-line; line-height: var(--cg-line-editorial); }
.cg-hero__indicator { margin: var(--cg-space-4) 0 0; font-size: var(--cg-text-small); word-spacing: var(--cg-space-4); }
.cg-hero__lettering { position: absolute; right: var(--cg-gutter); bottom: 12%; width: var(--cg-lettering-width); color: var(--cg-white); text-shadow: var(--cg-lettering-shadow); }
.cg-lettering { display: block; margin: 0; font: var(--cg-weight-body) var(--cg-text-lettering)/var(--cg-line-lettering) var(--cg-font-lettering); white-space: pre-line; overflow-wrap: anywhere; transform: rotate(var(--cg-lettering-angle)); transform-origin: center; }
.cg-editorial__lettering { color: var(--cg-forest); padding-block: var(--cg-space-5); }
.cg-editorial__lettering .cg-lettering::after { content: ""; display: block; width: var(--cg-space-7); border-bottom: var(--cg-border-fine) solid currentColor; margin-top: var(--cg-space-4); }
.cg-editorial-image, .cg-media-missing, .cg-hero__photo picture, .cg-editorial__photo picture { display: block; width: 100%; height: 100%; }
.cg-editorial-image { object-fit: cover; object-position: center; }
.cg-media-missing { display: flex; align-items: center; justify-content: center; background: var(--cg-sand); padding: var(--cg-space-5); text-align: center; color: var(--cg-forest); font-size: var(--cg-text-caption); }
.cg-benefits { background: var(--cg-cream); }
.cg-benefits__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cg-space-5); list-style: none; padding-block: var(--cg-space-5); }
.cg-benefit { display: flex; align-items: center; gap: var(--cg-space-5); min-width: 0; }
.cg-benefit p { margin: 0; font-size: var(--cg-text-small); }
.cg-benefit .cg-benefit__title { font-weight: var(--cg-weight-section); font-size: var(--cg-text-card); }
.cg-collection { margin-block: var(--cg-space-4) var(--cg-space-5); }
.cg-collection__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--cg-space-4); margin-bottom: var(--cg-space-2); }
.cg-collection__heading h2 { margin: 0; font-size: var(--cg-text-section); }
.cg-collection__link { display: inline-flex; align-items: center; gap: var(--cg-space-2); min-height: var(--cg-target); color: var(--cg-pink); font-size: var(--cg-text-card); text-decoration: none; }
.cg-collection .cg-product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--cg-collection-gap); }
.cg-editorial { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: var(--cg-editorial-height); }
.cg-editorial__photo { min-height: var(--cg-editorial-height); min-width: 0; }
.cg-editorial__panel { display: grid; grid-template-columns: minmax(0, 1fr) 28%; align-items: center; gap: var(--cg-space-4); padding: var(--cg-space-5) var(--cg-gutter) var(--cg-space-5) var(--cg-space-7); }
.cg-editorial__content { min-width: 0; }
.cg-editorial__content h2 { margin: 0 0 var(--cg-space-3); white-space: pre-line; }
.cg-editorial__content .cg-editorial-description { font-size: var(--cg-text-card); }
.cg-editorial__content .cg-button { font-size: var(--cg-text-card); }
.cg-site-footer { background: var(--cg-forest); color: var(--cg-cream); padding-block: var(--cg-space-6); }
.cg-footer-columns { display: grid; grid-template-columns: 1.25fr 1fr 1.2fr 1fr; gap: var(--cg-space-7); }
.cg-footer-columns h2.cg-type--caption { margin: var(--cg-space-2) 0 var(--cg-space-3); font-family: var(--cg-font-body); font-size: var(--cg-text-caption); font-weight: var(--cg-weight-caption); line-height: var(--cg-line-body); letter-spacing: var(--cg-tracking-caption); text-transform: uppercase; }
.cg-footer-brand > p { margin-block: var(--cg-space-5) 0; }
.cg-site-footer ul { list-style: none; padding: 0; margin: 0; }
.cg-site-footer nav a, .cg-site-footer nav li > span { color: inherit; text-decoration: none; font-size: var(--cg-text-nav); line-height: var(--cg-line-footer); }
.cg-site-footer a:hover { text-decoration: underline; }
.cg-social-links { display: flex; }
.cg-social-links a, .cg-social-links li > span { display: inline-flex; align-items: center; justify-content: flex-start; min-width: var(--cg-target); min-height: var(--cg-target); color: inherit; }
:is(.cg-footer-contact, .cg-footer-column-help) .cg-whatsapp .cg-button { --cg-button-bg: var(--cg-pink); --cg-button-border: var(--cg-forest); --cg-button-fg: var(--cg-white); border-width: var(--cg-border); box-shadow: none; font-size: var(--cg-text-small); padding-inline: var(--cg-space-4); }
.cg-footer-bottom { display: flex; justify-content: space-between; gap: var(--cg-space-5); margin-top: var(--cg-space-6); font-size: var(--cg-text-caption); }
.cg-footer-bottom p { margin: 0; }
@media (max-width: 1199px) {
  .cg-header-inner { gap: var(--cg-space-2); }
  .cg-header-actions { gap: 0; }
  .cg-primary-nav > ul, .cg-primary-nav .menu { gap: var(--cg-space-3); }
  .cg-header-actions .cg-button { padding-inline: var(--cg-space-3); }
  .cg-benefit { gap: var(--cg-space-3); }
  .cg-editorial__panel { padding-left: var(--cg-space-5); grid-template-columns: minmax(0, 1fr) 20%; }
  .cg-footer-columns { gap: var(--cg-space-5); }
}
@media (max-width: 1023px) {
  .cg-header-inner { display: grid; grid-template-columns: 1fr auto auto; padding-block: var(--cg-space-3); }
  .cg-header-actions { gap: var(--cg-space-2); }
  .is-enhanced .cg-menu-toggle { display: block; grid-column: 3; grid-row: 1; }
  .cg-header-actions { grid-column: 2; grid-row: 1; }
  .cg-primary-nav { grid-column: 1 / -1; grid-row: 2; }
  .cg-primary-nav .menu { flex-wrap: wrap; }
  .cg-primary-nav .sub-menu { position: static; display: block; border: none; }
  .is-enhanced .cg-primary-nav { display: none; }
  .cg-site-header.is-menu-open { z-index: var(--cg-layer-overlay); }
  .cg-site-header.is-menu-open .cg-cart-link { z-index: 0; }
  .is-enhanced:is(.is-menu-open, .is-menu-animating) .cg-primary-nav { display: block; position: relative; z-index: 1; background: var(--cg-cream); }
  .is-enhanced.is-menu-animating .cg-primary-nav { overflow: hidden; }
  .is-enhanced .cg-primary-nav[inert] { pointer-events: none; }
  .cg-benefits__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cg-collection .cg-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cg-hero { --cg-hero-copy: 36%; }
  .cg-hero__photo .cg-editorial-image { object-position: var(--cg-hero-position-tablet); }
  .cg-hero__content .cg-button { font-size: var(--cg-text-card); padding-inline: var(--cg-space-4); }
  .cg-editorial__panel { grid-template-columns: minmax(0, 1fr); }
  .cg-editorial__lettering { width: 26%; justify-self: end; }
  .cg-footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cg-site-footer nav a { display: inline-flex; align-items: center; min-height: var(--cg-target); }
}
@media (max-width: 767px) {
  .cg-header-inner { grid-template-columns: 1fr auto auto auto; gap: var(--cg-space-2); }
  .cg-brand { width: var(--cg-brand-width); }
  .cg-header-actions { display: contents; }
  .cg-header-actions .cg-search { grid-column: 2; grid-row: 1; }
  .cg-header-actions .cg-cart-link { grid-column: 3; grid-row: 1; }
  .is-enhanced .cg-menu-toggle { grid-column: 4; }
  .cg-header-actions .cg-whatsapp { grid-column: 1 / -1; grid-row: 2; justify-self: stretch; padding-bottom: var(--cg-shadow-offset); }
  .cg-header-actions .cg-whatsapp .cg-button { width: 100%; }
  .cg-primary-nav { grid-row: 3; }
  .cg-primary-nav .menu { flex-direction: column; align-items: stretch; }
  .cg-primary-nav .sub-menu { margin-left: var(--cg-space-4); }
  .cg-search { position: static; }
  .cg-search__form { right: var(--cg-gutter); left: var(--cg-gutter); top: 100%; width: auto; }
  .cg-hero { min-height: var(--cg-hero-mobile-height); }
  .cg-hero__layout { min-height: var(--cg-hero-mobile-height); align-items: flex-end; }
  .cg-hero__content { width: 100%; padding-block: var(--cg-space-6); }
  .cg-hero__photo { position: absolute; inset: 0; }
  .cg-hero__photo .cg-editorial-image { object-position: var(--cg-hero-position-mobile); }

  .cg-hero__lettering { top: var(--cg-space-7); bottom: auto; right: var(--cg-gutter); width: 40%; }
  .cg-editorial-description { white-space: normal; }
  .cg-hero h1 { max-width: 100%; }
  .cg-benefits__list { gap: var(--cg-space-5) var(--cg-space-4); }
  .cg-benefit { align-items: flex-start; gap: var(--cg-space-2); }
  .cg-benefit .cg-icon { width: var(--cg-icon-small); height: var(--cg-icon-small); }
  .cg-benefit .cg-benefit__title { font-size: var(--cg-text-small); }
  .cg-benefit p { font-size: var(--cg-text-caption); }
  .cg-collection__heading { align-items: flex-start; flex-direction: column; gap: 0; }
  .cg-collection__link { font-size: var(--cg-text-small); }
  .cg-editorial { grid-template-columns: minmax(0, 1fr); }
  .cg-editorial__photo { min-height: 0; aspect-ratio: 2 / 1; }
  .cg-editorial__panel { grid-template-columns: minmax(0, 1fr) 24%; padding: var(--cg-space-6) var(--cg-gutter); }
  .cg-editorial__lettering { width: 100%; }
  .cg-editorial__content .cg-button { font-size: var(--cg-text-small); padding-inline: var(--cg-space-3); }
  .cg-footer-columns { gap: var(--cg-space-6) var(--cg-space-4); }
  .cg-footer-brand, .cg-footer-contact { grid-column: 1 / -1; }
  .cg-footer-bottom { flex-direction: column; gap: var(--cg-space-3); }
}
@media (max-width: 479px) {
  .cg-editorial__panel { grid-template-columns: minmax(0, 1fr); }
  .cg-editorial__lettering { width: 30%; }
}

@media (max-width: 48rem) { .cg-collection .cg-product-grid { grid-template-columns: minmax(0, 1fr); } }

.cg-collection + .cg-collection { padding-top: var(--cg-space-4); }

/* Same global footer and header; responsive spacing only. */
:is(.cg-footer-contact, .cg-footer-column-help) .cg-whatsapp { margin-top: var(--cg-space-4); }
.cg-footer-collections-toggle { display: none; }
@media (max-width: 767px) {
 .cg-header-actions .cg-whatsapp { margin-top: var(--cg-space-3); }
 .cg-site-footer .cg-footer-columns { grid-template-columns: minmax(0, 1fr); gap: var(--cg-space-5); }
 .cg-site-footer .cg-footer-columns > * { min-width: 0; grid-column: 1; }
 .cg-footer-column-collections, .cg-footer-column-help, .cg-footer-contact { border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent); padding-top: var(--cg-space-4); }
 .cg-footer-collections-toggle { display: inline-flex; width: 100%; align-items: center; justify-content: space-between; gap: var(--cg-space-3); padding: 0; min-height: var(--cg-target); border: 0; border-radius: 0; box-shadow: none; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
 .cg-footer-collections-toggle .cg-icon { width: 20px; height: 20px; transform: rotate(-90deg); transition: transform var(--cg-transition); }
 .cg-footer-collections-toggle[aria-expanded="true"] .cg-icon { transform: rotate(90deg); }
 .cg-footer-column-collections.is-collapsible .cg-footer-collections-label { display: none; }
 .cg-footer-column-collections nav[hidden] { display: none; }
 :is(.cg-footer-contact, .cg-footer-column-help) .cg-whatsapp .cg-button { width: 100%; }
 .cg-footer-bottom { border-top: 1px solid color-mix(in srgb, currentColor 25%, transparent); padding-top: var(--cg-space-4); }
}
@media (max-width: 1023px) {
 .cg-carousel .cg-hero { min-height: 0; background: #F8F1E4; }
 .cg-carousel .cg-hero__photo { position: relative; inset: auto; z-index: auto; width: 100%; aspect-ratio: 4 / 3; }
 .cg-carousel .cg-hero__photo picture { position: absolute; inset: 0; }
 .cg-carousel .cg-hero__layout { min-height: 0; background: #F8F1E4; }
 .cg-carousel .cg-hero__content { width: 100%; padding-block: var(--cg-space-4); }
 .cg-carousel .cg-carousel__controls { position: static; padding-block: var(--cg-space-3); background: #F8F1E4; }
}
@media (min-width: 768px) and (max-width: 1023px) { .cg-carousel .cg-hero__photo { aspect-ratio: 2 / 1; } }
