:root {
  color-scheme: light;
}

/* Shared accessible breadcrumbs. */
.iperinox-wishlist-breadcrumb,
.iperinox-contact-breadcrumb,
.iperinox-account-breadcrumb { display:flex; align-items:center; gap:.4rem; }
.woocommerce-breadcrumb ol { align-items:center; }
.woocommerce-breadcrumb li { display:inline-flex; min-height:1.35rem; align-items:center; line-height:1.35; }
.iperinox-breadcrumb-home { display:inline-grid; width:1.35rem; min-width:1.35rem; height:1.35rem; min-height:1.35rem; flex:0 0 1.35rem; place-items:center; color:inherit; line-height:0; text-decoration:none; vertical-align:middle; }
.iperinox-breadcrumb-home .iperinox-icon { display:block; width:1rem; height:1rem; margin:0; flex:0 0 1rem; }

@media (max-width:767px) {
  .iperinox-wishlist-breadcrumb,
  .iperinox-contact-breadcrumb,
  .iperinox-account-breadcrumb { max-width:100%; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; white-space:nowrap; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .iperinox-wishlist-breadcrumb::-webkit-scrollbar,
  .iperinox-contact-breadcrumb::-webkit-scrollbar,
  .iperinox-account-breadcrumb::-webkit-scrollbar { display:none; }
}

@font-face { font-family: "Outfit"; src: url("../fonts/Outfit-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("../fonts/Outfit-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("../fonts/Outfit-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Outfit"; src: url("../fonts/Outfit-Bold.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

:root {
  --iperinox-primary: #00585c;
  --iperinox-primary-dark: #00454a;
  --iperinox-primary-light: #eaf4f4;
  --iperinox-text: #15191b;
  --iperinox-text-muted: #697277;
  --iperinox-border: #e2e7e8;
  --iperinox-background: #ffffff;
  --iperinox-surface: #f7f9f9;
  --iperinox-success: #0d6536;
  --iperinox-warning: #f58a00;
  --iperinox-danger: #cf3232;
  --iperinox-radius-sm: 6px;
  --iperinox-radius-md: 10px;
  --iperinox-radius-lg: 16px;
  --iperinox-container: 1480px;
  --iperinox-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.05);
  --iperinox-shadow-md: 0 8px 30px rgba(0, 0, 0, 0.08);
  --iperinox-gutter: clamp(1rem, 3vw, 2.5rem);
  --iperinox-focus: 0 0 0 3px rgba(0, 88, 92, 0.28);
  --iperinox-font: "Outfit", "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --iperinox-space-1: 0.25rem;
  --iperinox-space-2: 0.5rem;
  --iperinox-space-3: 0.75rem;
  --iperinox-space-4: 1rem;
  --iperinox-space-5: 1.5rem;
  --iperinox-space-6: 2rem;
  --iperinox-space-7: 3rem;
  --iperinox-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; overflow-x: hidden; scroll-behavior: smooth; text-size-adjust: 100%; }
body { margin: 0; overflow-x: hidden; color: var(--iperinox-text); background: var(--iperinox-background); font-family: var(--iperinox-font); font-size: 1rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote { margin-block-start: 0; }
h1, h2, h3, h4, h5, h6 { line-height: 1.15; text-wrap: balance; }
h1 { font-size: clamp(2rem, 5vw, 2rem); }
h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
ul, ol { padding-inline-start: 1.25rem; }
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
table { width: 100%; border-collapse: collapse; }
button, input, select, textarea { color: inherit; font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: 0.6; }
button, [type="button"], [type="submit"], [type="reset"] { min-height: 44px; }
a { color: var(--iperinox-primary-dark); text-underline-offset: 0.16em; }
/* Suppress iOS tap highlight on all interactive elements */
a, button, [role="button"], input, label, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
/* Remove outline on click/touch for all browsers. Restore only for keyboard via :focus-visible.
   On old iOS (< 15.4) :focus-visible is not supported, so touch never shows the ring. */
:focus { outline: none !important; box-shadow: none !important; }
:focus-visible { outline: 2px solid var(--iperinox-primary); outline-offset: 3px; box-shadow: var(--iperinox-focus); }
.iperinox-icon { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; }
.iperinox-container { width: min(100% - (2 * var(--iperinox-gutter)), var(--iperinox-container)); margin-inline: auto; }
.iperinox-main { min-height: 50vh; }
.iperinox-stack > * + * { margin-block-start: var(--iperinox-stack-space, var(--iperinox-space-4)); }
.iperinox-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--iperinox-cluster-space, var(--iperinox-space-3)); }
.iperinox-grid { display: grid; grid-template-columns: repeat(var(--iperinox-grid-columns, 1), minmax(0, 1fr)); gap: var(--iperinox-grid-gap, var(--iperinox-space-4)); }
.iperinox-card { overflow: hidden; border: 1px solid var(--iperinox-border); border-radius: var(--iperinox-radius-md); background: var(--iperinox-background); box-shadow: var(--iperinox-shadow-sm); }
.iperinox-card__body { padding: var(--iperinox-space-4); }
.iperinox-button, .wp-element-button, button[type="submit"], input[type="submit"] { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: var(--iperinox-space-2); padding: 0.7rem 1.25rem; border: 1px solid var(--iperinox-primary); border-radius: var(--iperinox-radius-sm); color: #fff; background: var(--iperinox-primary); font-weight: 600; line-height: 1.2; text-decoration: none; transition: color var(--iperinox-transition), background-color var(--iperinox-transition), border-color var(--iperinox-transition); }
.iperinox-button:hover, .wp-element-button:hover, button[type="submit"]:hover, input[type="submit"]:hover { border-color: var(--iperinox-primary-dark); background: var(--iperinox-primary-dark); }
.iperinox-button--secondary { color: var(--iperinox-primary-dark); background: transparent; }
label { display: inline-block; margin-block-end: var(--iperinox-space-2); font-weight: 500; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea { width: 100%; min-height: 44px; padding: 0.65rem 0.85rem; border: 1px solid var(--iperinox-border); border-radius: var(--iperinox-radius-sm); background: var(--iperinox-background); }
textarea { min-height: 8rem; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--iperinox-text-muted); opacity: 1; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--iperinox-danger); }
.iperinox-field-error { margin-block-start: var(--iperinox-space-1); color: var(--iperinox-danger); font-size: 0.875rem; }
.iperinox-surface { background: var(--iperinox-surface); }
.iperinox-text-muted { color: var(--iperinox-text-muted); }
.iperinox-text-center { text-align: center; }
.iperinox-full-width { width: 100%; }
.iperinox-visually-hidden, .screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.iperinox-skip-link { position: fixed; z-index: 10000; inset: 0 auto auto 0; padding: 0.75rem 1rem; color: #fff; background: var(--iperinox-primary-dark); transform: translateY(-110%); }
.iperinox-skip-link:focus { transform: translateY(0); }
body.iperinox-scroll-lock { overflow: hidden; }

/* Unified WooCommerce price presentation. */
.iperinox-price-display { display: inline-flex; min-width: 0; align-items: flex-start; flex-direction: column; gap: .08rem; color: var(--iperinox-text); line-height: 1.12; }
.iperinox-price-display__prp { display: inline-flex; align-items: baseline; gap: .15rem; color: var(--iperinox-text-muted); font-size: .72em; font-weight: 400; white-space: nowrap; }
.iperinox-price-display__label { text-transform: uppercase; }
.iperinox-price-display__sale-row { display: inline-flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: .45rem; }
.iperinox-price-display__current { color: var(--iperinox-text); font-size: 1em; font-weight: 700; white-space: nowrap; }
.iperinox-price-display .woocommerce-Price-amount { white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto; animation-duration: 0.01ms; animation-iteration-count: 1; transition-duration: 0.01ms; }
}
