/* Golden Design System v1 primitives.
 * Every rule is opt-in scoped; this file is enqueued only for GDS v1 Stores.
 */
html[data-gds-version="1"] body {
  color: var(--gds-color-text);
  background-color: var(--gds-color-page);
  font-family: var(--gds-font-body);
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.container",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["layout.container_max", "layout.page_gutter"],
  "uses": [],
  "variants": ["narrow", "wide"],
  "variant_contract": {"type": "component_class", "owner": "container"},
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": [768, 1024]},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-container {
  width: min(calc(100% - 2 * var(--gds-page-gutter)), var(--gds-container-max));
  margin-inline: auto;
}

html[data-gds-version="1"] .gds-container--narrow {
  max-width: min(100%, 960px);
}

html[data-gds-version="1"] .gds-container--wide {
  width: min(calc(100% - 2 * var(--gds-page-gutter)), 1600px);
  max-width: 1600px;
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.section",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["layout.section_gap", "layout.section_padding_y", "spacing.lg", "spacing.3xl"],
  "uses": [],
  "variants": ["compact", "spacious"],
  "variant_contract": {"type": "component_class", "owner": "section"},
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": [768, 1024]},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-section {
  margin-block: var(--gds-section-gap);
  padding-block: var(--gds-section-padding-y);
}

html[data-gds-version="1"] .gds-section--compact {
  margin-block: var(--gds-space-lg);
}

html[data-gds-version="1"] .gds-section--spacious {
  margin-block: var(--gds-space-3xl);
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.section-header",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["typography.heading_family", "typography.body_family", "typography.sizes.h2", "typography.sizes.body", "typography.weights.heading", "typography.weights.body", "typography.line_heights.heading", "typography.line_heights.body", "colors.text", "colors.text_muted", "spacing.md", "spacing.xs"],
  "uses": [],
  "variants": ["centered", "split"],
  "variant_contract": {"type": "component_class", "owner": "section-header"},
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--gds-space-md);
  margin-block-end: var(--gds-section-padding-y);
  color: var(--gds-color-text);
  font-family: var(--gds-font-heading);
}

html[data-gds-version="1"] .gds-section-header--centered {
  justify-content: center;
  text-align: center;
}

html[data-gds-version="1"] .gds-section-header__title {
  margin: 0;
  color: inherit;
  font-size: var(--gds-font-size-h2);
  font-weight: var(--gds-font-weight-heading);
  line-height: var(--gds-line-height-heading);
}

html[data-gds-version="1"] .gds-section-header__subtitle {
  margin: var(--gds-space-xs) 0 0;
  color: var(--gds-color-text-muted);
  font-family: var(--gds-font-body);
  font-size: var(--gds-font-size-body);
  line-height: var(--gds-line-height-body);
}

html[data-gds-version="1"] .gds-section-header--split {
  align-items: center;
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.surface",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["colors.text", "colors.surface", "colors.surface_muted", "colors.border", "geometry.card_padding", "geometry.card_radius", "geometry.border_width", "geometry.base_shadow"],
  "uses": [],
  "variants": ["muted", "outlined"],
  "variant_contract": {"type": "component_class", "owner": "surface"},
  "surfaces": ["pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-surface {
  padding: var(--gds-card-padding);
  color: var(--gds-color-text);
  background: var(--gds-color-surface);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-card-radius);
  box-shadow: var(--gds-shadow);
}

html[data-gds-version="1"] .gds-surface--muted {
  background: var(--gds-color-surface-muted);
}

html[data-gds-version="1"] .gds-surface--outlined {
  box-shadow: none;
}

html[data-gds-version="1"] .gds-product-card {
  padding: var(--gds-product-card-padding);
  color: var(--gds-color-text);
  background: var(--gds-color-surface);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-card-radius);
  box-shadow: var(--gds-shadow);
  font-family: var(--gds-font-body);
}

html[data-gds-version="1"] .gds-product-card--compact {
  padding: var(--gds-space-sm);
}

html[data-gds-version="1"] .gds-product-card--editorial {
  border: var(--gds-border-width) solid var(--gds-color-border);
}

html[data-gds-version="1"] .gds-product-card .offer-card__media {
  aspect-ratio: var(--gds-product-card-media-ratio);
  border-radius: var(--gds-media-radius);
}

html[data-gds-version="1"] .gds-product-card .offer-card__body {
  gap: var(--gds-product-card-content-gap);
  padding-block-start: var(--gds-product-card-media-content-gap);
}

html[data-gds-version="1"] .gds-product-card .offer-card__price {
  gap: var(--gds-product-card-content-gap);
}

html[data-gds-version="1"] .gds-product-card--price-emphasized .offer-card__price-now {
  color: var(--gds-color-primary);
  font-size: 1.15em;
  font-weight: 800;
}

html[data-gds-version="1"] .gds-product-card--price-editorial .offer-card__price {
  align-items: flex-start;
  flex-direction: column;
  gap: var(--gds-space-xs);
}

html[data-gds-version="1"] .gds-product-card--price-editorial .offer-card__price-now {
  color: var(--gds-color-text);
  font-weight: 600;
  letter-spacing: 0;
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.component.product-card-sale-treatment",
  "kind": "component",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["product_card.badge_treatment", "colors.primary", "colors.on_primary", "colors.surface"],
  "uses": ["gds.component.product-card"],
  "variants": ["pill", "soft", "square"],
  "variant_contract": {"type": "theme_choice", "path": "product_card.badge_treatment"},
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-product-card .lq-badge-sale {
  background: var(--gds-color-primary);
  color: var(--gds-color-on-primary);
}

html[data-gds-version="1"] .gds-product-card--badge-pill .lq-badge-sale { border-radius: 999px; }
html[data-gds-version="1"] .gds-product-card--badge-soft .lq-badge-sale { border-radius: 8px; background: color-mix(in srgb, var(--gds-color-primary) 12%, var(--gds-color-surface)); color: var(--gds-color-primary); }
html[data-gds-version="1"] .gds-product-card--badge-square .lq-badge-sale { border-radius: 2px; }
html[data-gds-version="1"] .gds-product-card--badge-pill .offer-card__chips .lq-chip { border-radius: 999px; }
html[data-gds-version="1"] .gds-product-card--badge-soft .offer-card__chips .lq-chip { border-radius: 8px; }
html[data-gds-version="1"] .gds-product-card--badge-square .offer-card__chips .lq-chip { border-radius: 2px; }

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.button",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["button.height", "button.padding_x", "button.radius", "button.weight", "geometry.border_width", "colors.text", "colors.surface", "colors.border", "colors.primary", "colors.on_primary"],
  "uses": [],
  "variants": ["primary", "secondary", "quiet"],
  "variant_contract": {"type": "component_class", "owner": "button"},
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-button {
  display: inline-flex;
  min-height: var(--gds-button-height);
  align-items: center;
  justify-content: center;
  gap: var(--gds-space-sm);
  padding-inline: var(--gds-button-padding-x);
  color: var(--gds-color-text);
  background: var(--gds-color-surface);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-button-radius);
  font: inherit;
  font-weight: var(--gds-button-weight);
  text-decoration: none;
  cursor: pointer;
}

html[data-gds-version="1"] .gds-button:focus-visible,
html[data-gds-version="1"] .gds-input:focus-visible {
  outline: 2px solid var(--gds-color-primary);
  outline-offset: 2px;
}

html[data-gds-version="1"] .gds-button--primary {
  color: var(--gds-color-on-primary);
  background: var(--gds-color-primary);
  border-color: var(--gds-color-primary);
}

html[data-gds-version="1"] .gds-button--secondary {
  color: var(--gds-color-primary);
}

html[data-gds-version="1"] .gds-button--quiet {
  background: transparent;
  border-color: transparent;
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.primitive.input",
  "kind": "primitive",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["input.height", "input.padding_x", "input.radius", "geometry.border_width", "colors.text", "colors.surface", "colors.border", "colors.primary"],
  "uses": [],
  "variants": ["compact"],
  "variant_contract": {"type": "component_class", "owner": "input"},
  "surfaces": ["pdp", "checkout"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "automated_source_check", "ref": "wp-content/themes/loq-tw-tecnophone-preview/tests/gds-consumer-registry-smoke.php"},
  "coverage": "VERIFIED"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] .gds-input {
  width: 100%;
  min-height: var(--gds-input-height);
  padding-inline: var(--gds-input-padding-x);
  color: var(--gds-color-text);
  background: var(--gds-color-surface);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-input-radius);
  font: inherit;
}

html[data-gds-version="1"] .gds-input--compact {
  min-height: var(--gds-space-2xl);
}

/* EXTERNAL MARKUP ADAPTER: WooCommerce/Select2 generate these controls after
   our modules render, so their opt-in GDS skin lives at the shared boundary. */
/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.adapter.woocommerce-form-controls",
  "kind": "adapter",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["input.height", "input.padding_x", "input.radius", "geometry.border_width", "colors.text", "colors.surface", "colors.border", "colors.primary"],
  "uses": ["gds.primitive.input"],
  "variants": [],
  "surfaces": ["cart", "checkout", "pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "source_boundary", "ref": "assets/css/gds-v1.css"},
  "coverage": "PARTIAL"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] :where(
  .woocommerce form .input-text,
  .woocommerce form select,
  .woocommerce form textarea
) {
  min-height: var(--gds-input-height);
  padding-inline: var(--gds-input-padding-x);
  color: var(--gds-color-text);
  background-color: var(--gds-color-surface);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-input-radius);
  font-family: var(--gds-font-body);
}

html[data-gds-version="1"] :where(
  .woocommerce form label
) {
  color: var(--gds-color-text);
  font-family: var(--gds-font-body);
}

html[data-gds-version="1"] :where(
  .woocommerce form input[type="checkbox"],
  .woocommerce form input[type="radio"]
) {
  accent-color: var(--gds-color-primary);
}

html[data-gds-version="1"] :where(
  .woocommerce .button,
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button,
  .woocommerce #place_order,
  .single_add_to_cart_button
) {
  min-height: var(--gds-button-height);
  padding-inline: var(--gds-button-padding-x);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-button-radius);
  font-family: var(--gds-font-body);
  font-weight: var(--gds-button-weight);
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.adapter.woocommerce-primary-actions",
  "kind": "adapter",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["button.height", "button.padding_x", "button.radius", "button.weight", "geometry.border_width", "colors.primary", "colors.on_primary"],
  "uses": ["gds.primitive.button"],
  "variants": [],
  "surfaces": ["cart", "checkout", "pdp"],
  "responsive_context": {"breakpoints_px": []},
  "evidence": {"type": "source_boundary", "ref": "assets/css/gds-v1.css"},
  "coverage": "PARTIAL"
}
END-GDS-CONSUMER-V1 */
html[data-gds-version="1"] :where(
  .woocommerce #place_order,
  .single_add_to_cart_button
) {
  color: var(--gds-color-on-primary);
  background: var(--gds-color-primary);
  border-color: var(--gds-color-primary);
}

html[data-gds-version="1"] :where(.woocommerce .select2-container--default .select2-selection--single) {
  min-height: var(--gds-input-height);
  border: var(--gds-border-width) solid var(--gds-color-border);
  border-radius: var(--gds-input-radius);
  background: var(--gds-color-surface);
  font-family: var(--gds-font-body);
}

html[data-gds-version="1"] :where(.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered) {
  line-height: var(--gds-input-height);
  color: var(--gds-color-text);
}

/* GDS-CONSUMER-V1
{
  "schema_version": 1,
  "consumer_id": "gds.adapter.site-container",
  "kind": "adapter",
  "source": "assets/css/gds-v1.css",
  "token_paths": ["layout.container_max", "layout.page_gutter"],
  "uses": ["gds.primitive.container"],
  "variants": [],
  "surfaces": ["home", "plp", "pdp"],
  "responsive_context": {"breakpoints_px": [768, 1024]},
  "evidence": {"type": "source_boundary", "ref": "assets/css/gds-v1.css"},
  "coverage": "PARTIAL"
}
END-GDS-CONSUMER-V1 */
/* Existing site-container consumers share the same page axis in GDS mode;
   their legacy declarations remain effective when GDS is off. */
html[data-gds-version="1"] .site-container:not([class~="loq-container--md"]):not([class~="loq-container--sm"]) {
  width: min(calc(100% - 2 * var(--gds-page-gutter)), var(--gds-container-max));
  max-width: var(--gds-container-max);
  padding-inline: 0;
}
