/* ==========================================================================
   LOFT44 — SWISS BRUTALIST & INDUSTRIAL DESIGNER SYSTEM
   Inspired by: Porsche 356 Archive, Swiss Grid Posters, Detroit Fault Line & Aviation Tickets
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Chivo+Mono:ital,wght@0,300;0,400;0,600;0,700;0,900;1,300;1,400&family=Inter:wght@300;400;500;600;700;800;900&family=Kode+Mono:wght@400;500;600;700&family=Share+Tech+Mono&family=Syne:wght@700;800&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap');

@font-face {
  font-family: 'Sitdown';
  src: url('fonts/Sitdown/Sitdown.otf') format('opentype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Stark, Clean Designer Palette */
  --bg-pure: #FFFFFF;
  --bg-subtle: #F7F7F6;
  --bg-dark: #0D0D0C;

  --ink-black: #0A0A09;
  --ink-dark: #222220;
  --ink-muted: #666663;
  --ink-faint: #A09E99;
  --ink-inverted: #FFFFFF;

  --line-black: #0A0A09;
  --line-hairline: rgba(10, 10, 9, 0.16);
  --line-swiss-red: rgba(208, 59, 43, 0.35);

  --accent-red: #D03B2B;
  --accent-rust: #8A3324;
  --accent-amber: #C97A2C;

  /* Typography */
  --font-mono: 'Space Mono', 'Chivo Mono', monospace;
  --font-display: 'Share Tech Mono', monospace;
  --font-title: 'Share Tech Mono', monospace;
  --font-body: 'Inter', -apple-system, sans-serif;
  --font-sitdown: 'Share Tech Mono', monospace;
}

/* Reset & Architectural Foundation */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 15px;
  scroll-behavior: smooth;
  background-color: var(--bg-pure);
  color: var(--ink-black);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  max-width: 100vw;
}

/* ==========================================================================
   PAGE TRANSITIONS & MODERN VIEW TRANSITION API
   ========================================================================== */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: 160ms cubic-bezier(0.16, 1, 0.3, 1) both fade-out;
}

::view-transition-new(root) {
  animation: 240ms cubic-bezier(0.16, 1, 0.3, 1) both fade-in;
}

@keyframes fade-out {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-4px); }
}

@keyframes fade-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Progressive Crossfade Layer */
body {
  background-color: var(--bg-pure);
  overflow-x: hidden;
  line-height: 1.5;
  width: 100%;
  max-width: 100vw;
  transition: opacity 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

body.page-is-exiting {
  opacity: 0 !important;
  pointer-events: none;
}

.swiss-page-wrapper {
  animation: swissPageEnter 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes swissPageEnter {
  0% {
    opacity: 0;
    transform: translateY(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Zero Border Radius & iOS Safari Appearance Reset */
input,
select,
textarea,
button,
.input-text,
.select2-container,
.select2-selection {
  border-radius: 0px !important;
  -webkit-border-radius: 0px !important;
  -moz-border-radius: 0px !important;
}

/* Neutralize iOS Safari Auto-detected Telephone/Date links */
a[href^="tel"],
a[x-apple-data-detectors],
[x-apple-data-detectors] {
  color: inherit !important;
  text-decoration: none !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  border-bottom: none !important;
  pointer-events: none !important;
  cursor: default !important;
}

.config-btn a,
.pdp-model-title a,
.coord-tag a,
.cta-banner-title a,
.tag-num a,
.monumental-title a,
.blueprint-metric-title a,
.blueprint-black-badge a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* Swiss Grid Lines Container with Sticky Footer Flex */
.swiss-page-wrapper {
  max-width: 1440px;
  width: 100%;
  margin: 0 auto;
  border-left: 1px solid var(--line-black);
  border-right: 1px solid var(--line-black);
  position: relative;
  background-color: var(--bg-pure);
  overflow-x: hidden;
  box-sizing: border-box;
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ==========================================================================
   TOP ANNOUNCEMENT / BOARDING PASS CONTINUOUS TV TICKER (Zócalo Broadcast Style)
   ========================================================================== */
.swiss-announcement-strip {
  background-color: var(--ink-black);
  color: #FFFFFF;
  border-bottom: 1px solid var(--line-black);
  height: 36px;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.swiss-ticker-marquee {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: swissTickerMarquee 28s linear infinite;
}

.swiss-announcement-strip:hover .swiss-ticker-marquee {
  animation-play-state: paused;
}

@keyframes swissTickerMarquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.swiss-ticker-track {
  display: flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px;
}

.ticker-badge {
  color: var(--accent-red);
  font-weight: 700;
}

.ticker-sep {
  color: var(--ink-faint);
  font-weight: 300;
  padding: 0 8px;
}

/* ==========================================================================
   TOP ARCHITECTURAL HEADER & BRACKET FLIP MENU
   ========================================================================== */
.swiss-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-black);
}

.swiss-header-inner {
  display: grid;
  grid-template-columns: auto 1fr 58%;
  align-items: stretch;
}

.swiss-brand-cell {
  padding: 16px 28px;
  border-right: 1px solid var(--line-black);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-decoration: none;
  color: var(--ink-black);
}

.swiss-brand-img {
  height: 24px;
  width: auto;
  max-width: 140px;
  display: block;
  object-fit: contain;
}

.swiss-brand-logo {
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.swiss-brand-meta {
  font-family: var(--font-mono);
  font-size: 9.5px;
  color: var(--ink-muted);
  letter-spacing: 0.12em;
  display: block;
  margin-top: 2px;
}

.swiss-telemetry-cell {
  padding: 16px 20px;
  border-right: 1px solid var(--line-black);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: var(--ink-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.swiss-telemetry-item strong {
  color: var(--ink-black);
  font-weight: 700;
}

/* Bracket Nav Links with Flip — Exactly 58% Right Column (5 Nav Cells) */
.swiss-nav-cell {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: stretch;
}

.swiss-nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-right: 1px solid var(--line-black);
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink-black);
  transition: background-color 0.2s, color 0.2s;
  cursor: pointer;
  white-space: nowrap;
  background-color: var(--bg-pure);
}

.swiss-nav-link:last-child {
  border-right: none;
}

.swiss-nav-link .bracket {
  color: var(--ink-faint);
  transition: color 0.2s;
}

.swiss-nav-link:hover .bracket,
.swiss-nav-link.active .bracket {
  color: var(--accent-red);
}

.swiss-nav-link:hover,
.swiss-nav-link.active {
  background-color: var(--ink-black);
  color: #FFFFFF;
}

.swiss-nav-link.active .bracket {
  color: var(--accent-red);
}

/* ==========================================================================
   TECHNICAL HAIRLINE GRID SYSTEM (1px solid borders everywhere)
   ========================================================================== */
.grid-row {
  display: grid;
  border-bottom: 1px solid var(--line-black);
}

.grid-cols-2 {
  grid-template-columns: 1fr 1fr;
}

.grid-cols-3 {
  grid-template-columns: repeat(3, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

.grid-cols-12 {
  grid-template-columns: repeat(12, 1fr);
}

.grid-cell {
  padding: 32px;
  border-right: 1px solid var(--line-black);
  position: relative;
}

.grid-cell:last-child {
  border-right: none;
}

/* Fine Coordinate Labels (Swiss Poster Style) */
.coord-tag {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.coord-tag .tag-num {
  font-weight: 700;
  color: var(--ink-black);
}

.coord-tag .tag-red {
  color: var(--accent-red);
}

/* ==========================================================================
   HERO / MONUMENTAL TITLE & SHOCK SECTION
   ========================================================================== */
.hero-manifesto-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 32px 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  height: calc(100vh - 140px);
  min-height: 480px;
  max-height: 610px;
}

.hero-text-pane {
  padding: 28px 36px;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

.hero-text-pane.hero-home-left {
  background-image: url('https://loft44.ar/wp-content/uploads/2026/09/R.webp');
  background-size: cover;
  background-position: left bottom;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
}

.hero-home-left .hero-lead-text,
.hero-home-left .monumental-title {
  mix-blend-mode: difference;
  color: #FFFFFF;
}

.hero-text-pane.hero-taller-left {
  background-image: url('https://loft44.ar/wp-content/uploads/2026/09/82_v2.webp');
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-color: #FFFFFF;
}

.hero-taller-left .hero-lead-text,
.hero-taller-left .monumental-title,
.hero-taller-left .hero-origin-label {
  mix-blend-mode: difference;
  color: #FFFFFF;
}

/* Taller Hero Split & Ticket Stub Perforated Aesthetics */
.hero-text-pane.taller-hero-split {
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
}

.taller-hero-main {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.taller-ticket-stub {
  width: 220px;
  min-width: 200px;
  border-left: 1.5px dashed var(--line-black);
  padding: 24px 20px;
  background-color: var(--bg-subtle);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
}

.stub-flight-header {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--ink-black);
  text-transform: uppercase;
}

.stub-block {
  display: flex;
  flex-direction: column;
}

.stub-label {
  font-family: var(--font-mono);
  font-size: 8.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 2px;
}

.stub-seat-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.stub-huge-num {
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 4vw, 3rem);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: var(--ink-black);
}

.stub-sub-label {
  font-family: var(--font-mono);
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  color: var(--ink-black);
  text-transform: uppercase;
}

.stub-barcode-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
}

.stub-barcode-prefix {
  font-family: var(--font-display);
  font-size: 2.4rem;
  line-height: 0.9;
  color: var(--ink-black);
  flex-shrink: 0;
}

.stub-barcode-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.stub-barcode-svg {
  width: 100%;
  height: 28px;
  display: block;
}

.stub-barcode-digits {
  font-family: var(--font-mono);
  font-size: 7.5px;
  letter-spacing: 0.16em;
  color: var(--ink-black);
  text-align: center;
  margin-top: 2px;
}

.stub-route {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink-black);
  text-transform: uppercase;
  line-height: 1.3;
}

.stub-route-sub {
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-top: 1px;
}

.stub-departs-time {
  display: flex;
  align-items: baseline;
}

.stub-time-unit {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--ink-black);
  margin-left: 3px;
}

.monumental-title {
  font-family: var(--font-display);
  font-size: clamp(2.8rem, 5.5vw, 4.8rem);
  font-weight: 400;
  line-height: 0.94;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  margin: 10px 0 14px;
}

.hero-lead-text {
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-dark);
  font-weight: 400;
  max-width: 500px;
  letter-spacing: -0.01em;
}

.hero-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}

.hero-plane-badge {
  flex-shrink: 0;
  text-align: right;
  padding-top: 10px;
}

.hero-plane-badge img {
  max-height: 90px;
  width: auto;
  object-fit: contain;
  opacity: 0.92;
  transition: opacity 0.3s ease, transform 0.3s ease;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.04));
}

.hero-plane-badge:hover img {
  opacity: 1;
  transform: translateY(-2px);
}

.hero-plane-caption {
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.16em;
  color: var(--ink-muted);
  margin-top: 6px;
  text-transform: uppercase;
}

.phonetic-callsign {
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.16em;
  color: var(--accent-red);
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 6px;
}

/* Interactive B&W to Color Hover Image Frame */
.hero-image-pane {
  position: relative;
  background-color: var(--bg-subtle);
  overflow: hidden;
  height: 100%;
}

.interactive-hover-img-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.interactive-hover-img-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 35%, rgba(17, 17, 17, 0.52) 100%);
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
  z-index: 2;
}

.interactive-hover-img-wrap:hover::after {
  opacity: 1;
}

.interactive-hover-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  transition: filter 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  display: block;
}

.interactive-hover-img-wrap:hover .interactive-hover-img {
  filter: grayscale(0%) contrast(1.05) brightness(1.0);
  transform: scale(1.03);
}

/* Hero Crossfade Reel */
.hero-video-reel-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: var(--bg-subtle);
}

.hero-video-poster {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  z-index: 0;
  transition: opacity 0.8s ease;
}

.hero-video-poster.loaded {
  opacity: 0;
}

.hero-crossfade-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 1.2s cubic-bezier(0.4, 0, 0.2, 1), filter 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 1;
}

.hero-crossfade-video.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.img-corner-tag {
  position: absolute;
  bottom: 16px;
  left: 16px;
  background-color: var(--ink-black);
  color: #FFFFFF;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  letter-spacing: 0.14em;
  pointer-events: none;
  z-index: 5;
}

/* ==========================================================================
   METRICS & SPECIFICATIONS STRIP (Like Porsche 356 & Detroit Fault Line)
   ========================================================================== */
.specs-matrix-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-top: 1px solid var(--line-black);
  border-bottom: 1px solid var(--line-black);
  margin: 0 0 48px 0;
}

.spec-metric-cell {
  padding: 28px 20px 32px;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.spec-metric-cell .coord-tag {
  margin-bottom: 20px;
  min-height: 18px;
}

.spec-metric-cell:last-child {
  border-right: none;
}

.spec-huge-number {
  font-family: var(--font-sitdown);
  font-size: clamp(2.4rem, 3.2vw, 3.8rem);
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: -0.03em;
  color: var(--ink-black);
  margin: 0 0 14px 0;
  min-height: 46px;
  display: flex;
  align-items: baseline;
}

.spec-huge-number span {
  font-family: var(--font-sitdown);
  font-size: clamp(1.1rem, 1.4vw, 1.5rem);
  color: var(--ink-muted);
  margin-left: 2px;
}

.spec-metric-desc {
  font-family: var(--font-body);
  font-size: 14px;
  color: var(--ink-muted);
  line-height: 1.55;
}

/* ==========================================================================
   MASONRY / ARTY BRUTALIST INSPIRATION DOSSIER
   ========================================================================== */
.dossier-gallery-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin: 0 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

.dossier-cell {
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
}

.dossier-cell:last-child {
  border-right: none;
}

.dossier-cell .img-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  border-bottom: 1px solid var(--line-black);
  overflow: hidden;
  position: relative;
}

.dossier-cell-content {
  padding: 30px;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: space-between;
}

.dossier-item-title {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin-bottom: 12px;
  line-height: 1.15;
}

.dossier-item-p {
  font-size: 14px;
  color: var(--ink-muted);
  line-height: 1.6;
}

/* ==========================================================================
   BARCODE & BOARDING PASS FLIGHT TICKET STAMP (Airport Aesthetic)
   ========================================================================== */
.boarding-pass-stamp {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.bp-field-header {
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.16em;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-black);
  margin-bottom: 2px;
}

.barcode-clean {
  height: 38px;
  width: 200px;
  background: linear-gradient(90deg,
      #0A0A09 0px 3px, transparent 3px 5px,
      #0A0A09 5px 6px, transparent 6px 10px,
      #0A0A09 10px 14px, transparent 14px 16px,
      #0A0A09 16px 18px, transparent 18px 23px,
      #0A0A09 23px 25px, transparent 25px 27px,
      #0A0A09 27px 32px, transparent 32px 35px,
      #0A0A09 35px 37px, transparent 37px 42px,
      #0A0A09 42px 47px, transparent 47px 49px,
      #0A0A09 49px 51px, transparent 51px 56px,
      #0A0A09 56px 61px, transparent 61px 63px,
      #0A0A09 63px 67px, transparent 67px 72px,
      #0A0A09 72px 74px, transparent 74px 76px,
      #0A0A09 76px 82px, transparent 82px 86px,
      #0A0A09 86px 88px, transparent 88px 93px,
      #0A0A09 93px 98px, transparent 98px 101px,
      #0A0A09 101px 103px, transparent 103px 108px,
      #0A0A09 108px 113px, transparent 113px 115px,
      #0A0A09 115px 118px, transparent 118px 124px,
      #0A0A09 124px 129px, transparent 129px 131px,
      #0A0A09 131px 133px, transparent 133px 139px,
      #0A0A09 139px 144px, transparent 144px 146px,
      #0A0A09 146px 148px, transparent 148px 153px,
      #0A0A09 153px 159px, transparent 159px 162px,
      #0A0A09 162px 164px, transparent 164px 170px,
      #0A0A09 170px 176px, transparent 176px 179px,
      #0A0A09 179px 181px, transparent 181px 186px,
      #0A0A09 186px 192px, transparent 192px 195px,
      #0A0A09 195px 197px, transparent 197px 200px);
}

.bp-route-block {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.12em;
  line-height: 1.35;
  color: var(--ink-muted);
  text-transform: uppercase;
}

.bp-route-code {
  color: var(--ink-black);
  font-weight: 700;
}

.bp-time-block {
  margin-top: 4px;
}

.bp-time-label {
  font-family: var(--font-mono);
  font-size: 7.5px;
  letter-spacing: 0.18em;
  font-weight: 700;
  color: var(--ink-muted);
  text-transform: uppercase;
}

.bp-time-val {
  font-family: var(--font-sitdown);
  font-size: 1.8rem;
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--ink-black);
  display: flex;
  align-items: baseline;
  gap: 3px;
  margin-top: 2px;
}

.bp-time-unit {
  font-family: var(--font-sitdown);
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: var(--ink-black);
}

/* ==========================================================================
   6. AIRCRAFT LOGBOOK & REGISTRATION CERTIFICATE
   ========================================================================== */
.logbook-section-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid var(--line-black);
}

.logbook-text-pane {
  padding: 48px 40px;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.logbook-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.0;
  margin: 12px 0 18px;
  color: var(--ink-black);
}

.logbook-p {
  font-size: 14.5px;
  color: var(--ink-dark);
  line-height: 1.6;
}

.logbook-specs-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line-black);
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
}

.logbook-spec-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.logbook-spec-item .spec-num {
  color: var(--accent-red);
  font-weight: 700;
}

.logbook-spec-item .spec-lbl {
  color: var(--ink-black);
  font-weight: 700;
}

.logbook-placard-pane {
  padding: 48px 40px;
  background-color: var(--bg-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
}

.aircraft-placard {
  background-color: var(--bg-pure);
  border: 1px solid var(--line-black);
  padding: 28px;
  width: 100%;
  max-width: 500px;
  box-shadow: 6px 6px 0px rgba(10, 10, 9, 0.06);
}

.placard-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.16em;
  color: var(--ink-muted);
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line-black);
  text-transform: uppercase;
}

.placard-stencil-box {
  padding: 20px 0;
  border-bottom: 1px solid var(--line-black);
  text-align: center;
}

.placard-stencil-label {
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.20em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.placard-stencil-code {
  font-family: var(--font-sitdown);
  font-size: clamp(3rem, 5vw, 4.2rem);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--ink-black);
}

.placard-stencil-sub {
  font-family: var(--font-mono);
  font-size: 7.5px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  margin-top: 8px;
  text-transform: uppercase;
}

.placard-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 20px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line-black);
}

.placard-field {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pf-label {
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  text-transform: uppercase;
}

.pf-val {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  color: var(--ink-black);
}

.placard-bottom-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 16px;
}

.placard-stamp {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--accent-red);
  border: 1px solid var(--accent-red);
  padding: 4px 8px;
}

/* ==========================================================================
   CTA STRIP / ACTION ROW
   ========================================================================== */
.cta-banner-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 36px;
  padding: 44px 40px;
  border-bottom: none;
  background-color: var(--bg-pure);
}

.cta-banner-plane {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}

.cta-banner-plane img {
  height: 58px;
  max-height: 58px;
  width: auto;
  object-fit: contain;
  opacity: 0.95;
  display: block;
}

.cta-banner-title {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--ink-black);
  margin: 6px 0 8px;
}

.btn-swiss-action {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 20px 36px;
  background-color: var(--ink-black);
  color: #FFFFFF !important;
  border: 1px solid var(--ink-black);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.25s ease;
  cursor: pointer;
}

.btn-swiss-action:hover {
  background-color: var(--accent-red);
  border-color: var(--accent-red);
}

/* ==========================================================================
   PRODUCT DOSSIER & CONFIGURATOR (Porsche 356 Style)
   ========================================================================== */
.pdp-swiss-layout {
  display: grid;
  grid-template-columns: 1.25fr 0.95fr;
  margin: 32px 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

.pdp-swiss-gallery {
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  position: relative;
  align-self: stretch;
  width: 100%;
  box-sizing: border-box;
  padding: 0;
  gap: 0;
  background-color: var(--bg-pure);
}

.pdp-hero-image-wrap {
  width: 100%;
  flex: 1 1 auto;
  min-height: 520px;
  border: none;
  border-bottom: 1px solid var(--line-black);
  border-radius: 0;
  position: relative;
  overflow: hidden;
  background-color: var(--bg-subtle);
  box-sizing: border-box;
}

.pdp-hero-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) contrast(1.15);
  transition: filter 0.4s ease;
  display: block;
}

.pdp-hero-image-wrap:hover img {
  filter: grayscale(0%) contrast(1.05);
}

.pdp-nav-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  background-color: rgba(18, 18, 18, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 8px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 18px;
  cursor: pointer;
  z-index: 15;
  transition: all 0.2s ease;
  opacity: 0.75;
}

.pdp-nav-arrow:hover {
  opacity: 1;
  background-color: var(--accent-red);
  border-color: var(--accent-red);
  color: #FFFFFF;
}

.pdp-nav-prev {
  left: 16px;
}

.pdp-nav-next {
  right: 16px;
}

.pdp-thumb-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  flex-shrink: 0;
  width: 100%;
  box-sizing: border-box;
}

.pdp-thumb-cell {
  aspect-ratio: 1 / 1;
  height: auto;
  min-width: 0;
  border: none;
  border-right: 1px solid var(--line-black);
  border-radius: 0;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  background-color: var(--bg-pure);
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.pdp-thumb-cell:last-child {
  border-right: none;
}

.pdp-thumb-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%) brightness(0.9);
  transition: all 0.3s ease;
}

.pdp-thumb-cell:hover img,
.pdp-thumb-cell.active img {
  filter: grayscale(0%) brightness(1);
}

.pdp-thumb-cell.active {
  box-shadow: inset 0 0 0 2px var(--ink-black);
}

/* Configurator Pane */
.pdp-swiss-config {
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.pdp-header-block {
  border-bottom: 1px solid var(--line-black);
  padding-bottom: 24px;
  margin-bottom: 30px;
}

.pdp-model-title {
  font-family: var(--font-display);
  font-size: 2.6rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 10px 0 16px;
}

.pdp-price-tag {
  font-family: var(--font-mono);
  font-size: 30px;
  font-weight: 700;
  color: var(--ink-black);
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.pdp-installments {
  font-size: 11.5px;
  color: var(--ink-muted);
  font-weight: 400;
}

/* Swiss Option Selectors - Option 1: Segmented Flight Matrix */
.config-section {
  margin-bottom: 24px;
}

.config-label-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-bottom: 8px;
}

.config-btn-grid {
  display: flex;
  width: 100%;
  border: 1px solid var(--line-black);
  border-radius: 8px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
}

.config-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  color: var(--ink-black) !important;
  -webkit-text-fill-color: var(--ink-black) !important;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  border-right: 1px solid var(--line-black);
  padding: 12px 10px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  transition: background-color 0.18s ease, color 0.18s ease;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.config-btn:last-child {
  border-right: none;
}

.config-btn:hover:not(.selected) {
  background-color: var(--bg-subtle);
  color: var(--ink-black) !important;
  -webkit-text-fill-color: var(--ink-black) !important;
}

.config-btn.selected {
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-weight: 700;
  box-shadow: none;
}

/* ==========================================================================
   BLUEPRINT BOARDING PASS CARD SECTION (PDP)
   ========================================================================== */
.blueprint-full-section {
  display: flex;
  margin: 0 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  position: relative;
}

/* Left Boarding Strip: Black Background with Vertical Title ONLY */
.blueprint-boarding-strip-left {
  width: 48px;
  background-color: var(--ink-black);
  color: #FFFFFF;
  border-right: 1px solid var(--line-black);
  position: relative;
  flex-shrink: 0;
  user-select: none;
  min-height: 100%;
  overflow: hidden;
}

.blueprint-boarding-strip-left .blueprint-strip-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  transform-origin: center center;
  font-family: var(--font-display);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
}

.blueprint-specs-grid-swiss {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  flex: 1;
  width: 100%;
}

.blueprint-cell {
  padding: 28px 22px;
  border-right: 1px solid var(--line-black);
  border-bottom: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
}

.blueprint-cell .coord-tag {
  height: 20px;
  line-height: 20px;
  margin-bottom: 12px;
  font-size: 11px;
  letter-spacing: 0.08em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.blueprint-cell:nth-child(4n) {
  border-right: none;
}

.blueprint-cell:nth-child(n+5) {
  border-bottom: none;
}

.blueprint-metric-title {
  font-family: var(--font-sitdown);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--ink-black);
  margin: 0 0 10px 0;
  text-transform: uppercase;
  min-height: 48px;
  display: flex;
  align-items: flex-start;
  flex-shrink: 0;
}

.blueprint-cell p {
  font-size: 14px;
  color: var(--ink-muted);
  line-height: 1.55;
  margin: 0;
}

.blueprint-black-badge {
  display: inline-flex;
  align-items: center;
  background-color: var(--ink-black);
  color: #FFFFFF;
  padding: 4px 10px 2px;
  letter-spacing: 0.02em;
  font-family: var(--font-sitdown);
  border: 1px solid var(--ink-black);
  line-height: 1;
}

.faq-section-title {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin-top: 6px;
  color: var(--ink-black);
}

/* FAQ Swiss Accordion (2-Column Grid) */
.faq-swiss-row {
  border-top: 1px solid var(--line-black);
  border-bottom: none;
}

.faq-swiss-2col-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.faq-col {
  display: flex;
  flex-direction: column;
}

.faq-col:first-child {
  border-right: 1px solid var(--line-black);
}

.faq-swiss-item {
  border-bottom: 1px solid var(--line-black);
}

.faq-col .faq-swiss-item:last-child {
  border-bottom: none;
}

.faq-swiss-btn {
  width: 100%;
  padding: 22px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: none;
  border: none;
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-black);
  cursor: pointer;
  text-align: left;
  line-height: 1.4;
  gap: 16px;
}

.faq-swiss-btn:hover {
  background-color: var(--bg-subtle);
}

.faq-swiss-content {
  display: none;
  padding: 0 28px 24px;
  font-size: 14.5px;
  color: var(--ink-muted);
  line-height: 1.65;
}

.faq-swiss-item.open .faq-swiss-content {
  display: block;
}

.faq-swiss-item.open .faq-sign {
  color: var(--accent-red);
}

@media (max-width: 991px) {
  .faq-swiss-2col-grid {
    grid-template-columns: 1fr;
  }

  .faq-col:first-child {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }
}

/* ==========================================================================
   SOCIAL PROOF & AUTHORITY SECTION (Full Width Minimal Swiss Grid)
   ========================================================================== */
.social-proof-section {
  margin: 0 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
}

.social-proof-header {
  padding: 32px 36px 28px;
  border-bottom: 1px solid var(--line-black);
  background-color: #F6F6F4;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.social-proof-header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  width: 100%;
}

.social-proof-title {
  font-family: var(--font-sitdown);
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  margin: 0;
}

.social-proof-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.social-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background-color: var(--bg-pure);
}

.social-proof-cell {
  padding: 36px 36px 40px;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 230px;
  background-color: var(--bg-pure);
  transition: background-color 0.25s ease;
}

.social-proof-cell:hover {
  background-color: #FAFAF8;
}

.social-proof-cell:last-child {
  border-right: none;
}

.social-proof-number {
  font-family: var(--font-sitdown);
  font-size: clamp(3.6rem, 5.5vw, 5.2rem);
  font-weight: 400;
  line-height: 1;
  color: var(--ink-black);
  letter-spacing: -0.04em;
  margin: 20px 0 24px 0;
}

.social-proof-desc {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--ink-muted);
  letter-spacing: -0.01em;
}

@media (max-width: 900px) {
  .social-proof-header-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.swiss-footer {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  font-family: var(--font-mono);
  font-size: 11px;
  border-top: 1px solid var(--line-black);
}

.swiss-footer-cell {
  padding: 40px 32px;
  border-right: 1px solid var(--line-black);
}

.swiss-footer-cell:last-child {
  border-right: none;
}

.swiss-footer-heading {
  font-size: 11px;
  letter-spacing: 0.16em;
  color: var(--accent-red);
  margin-bottom: 18px;
  text-transform: uppercase;
}

.swiss-footer-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.swiss-footer-list a {
  color: var(--ink-muted);
  text-decoration: none;
  letter-spacing: 0.06em;
  transition: color 0.2s;
}

.swiss-footer-list a:hover {
  color: var(--ink-black);
}

/* ==========================================================================
   TALLER PAGE: FOUNDER MANIFESTO & ARTISAN SECTIONS
   ========================================================================== */

/* 1. Founder Quote Row (Centered & Monumental Editorial Layout) */
.founder-quote-row {
  padding: 64px 40px;
  border-top: none;
  border-bottom: none;
  margin: 0 0 48px 0;
  background-color: var(--bg-pure);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 24px;
}

.founder-quote-row .coord-tag {
  justify-content: center;
}

.founder-quote-heading {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  max-width: 900px;
  margin: 8px auto 0;
  text-align: center;
}

.founder-quote-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-top: 1px solid var(--line-hairline);
  padding-top: 20px;
  gap: 8px;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
}

.founder-quote-author {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--ink-black);
  text-transform: uppercase;
}

/* 2. Philosophy Single / Clean Row */
.taller-philosophy-single {
  padding: 56px 40px 48px;
  border-top: none;
  border-bottom: 1px solid var(--line-black);
  margin: 0 0 48px 0;
  background-color: var(--bg-pure);
  background-image: url('https://loft44.ar/wp-content/uploads/2026/09/filosofia.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

.taller-philosophy-inner {
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.philosophy-statement {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.1vw, 2.05rem);
  font-weight: 400;
  line-height: 1.34;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  max-width: 100%;
  margin: 20px 0 0;
  text-align: left;
}

.philosophy-statement .highlight-red {
  color: var(--accent-red);
}

.taller-philosophy-footer {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
  margin-top: 24px;
  text-align: left;
  text-transform: uppercase;
}

/* 3. Team & Artisans Section (Unified Boarding Pass Card with 16px Radius) */
.taller-artisans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 32px 48px 32px;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  background-color: var(--bg-pure);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

.artisan-card {
  padding: 0;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  background-color: var(--bg-pure);
  position: relative;
}

.artisan-card:last-child {
  border-right: none;
}

.artisan-card-header {
  padding: 12px 20px;
  border-bottom: 1px solid var(--line-black);
  background-color: var(--bg-pure);
}

.artisan-photo-box {
  width: 100%;
  aspect-ratio: 4 / 5;
  background-color: var(--bg-subtle);
  overflow: hidden;
  position: relative;
  border-bottom: 1px solid var(--line-black);
  margin: 0;
}

.artisan-photo-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  transition: filter 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  display: block;
}

.artisan-photo-box:hover img {
  filter: grayscale(0%) contrast(1.05) brightness(1.0);
  transform: scale(1.03);
}

.artisan-info-box {
  padding: 24px 20px 28px;
  background-color: var(--bg-pure);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 4px;
}

.artisan-name {
  font-family: var(--font-display);
  font-size: 1.6rem;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  line-height: 1.1;
  margin: 0;
  text-align: center;
}

.artisan-role {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--accent-red);
  text-transform: uppercase;
  margin-top: 4px;
  text-align: center;
}

/* ==========================================================================
   4. TALLER INSPIRATION SPLIT-FLAP FLIPBOARD
   ========================================================================== */
.taller-flipboard-section {
  border-top: none;
  border-bottom: 1px solid var(--line-black);
  margin: 0;
  background-color: var(--bg-pure);
}

.flipboard-header-row {
  padding: 28px 40px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-bottom: 1px solid var(--line-black);
  background-color: var(--bg-pure);
}

.flipboard-title-line {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  width: 100%;
}

.flipboard-title {
  font-family: var(--font-sitdown);
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--ink-black);
  margin: 0;
}

.flipboard-words-track {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-black);
  margin-bottom: 4px;
}

.flip-keyword {
  color: var(--ink-black);
  transition: color 0.3s ease;
}

.flip-keyword-sep {
  color: var(--accent-red);
  font-weight: 400;
}

/* 7-Columns Flipboard Grid (Default / Taller) */
.flipboard-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background-color: #0d0d0d;
}

/* ==========================================================================
   SWISS AIRPORT SOLARI DEPARTURE BOARD (Full Width - Hero Width)
   ========================================================================== */
.departure-board-section {
  margin: 0 32px 48px 32px;
}

.swiss-departure-board-container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  background-color: #FFFFFF;
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
}

.swiss-departure-board-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 28px;
  background-color: #F6F6F4;
  border-bottom: 1px solid var(--line-black);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--ink-black);
  text-transform: uppercase;
}

.board-header-tag .live-dot {
  color: var(--accent-red);
  margin-right: 6px;
  animation: radarBlink 1.5s ease-in-out infinite;
}

.swiss-departure-board-viewport {
  padding: 44px 36px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #FFFFFF;
  box-sizing: border-box;
  width: 100%;
}

.swiss-departure-matrix {
  display: flex;
  flex-direction: column;
  gap: 8px; /* Vertical gap between rows */
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.departure-row {
  display: grid;
  grid-template-columns: repeat(30, minmax(0, 1fr));
  gap: 5px; /* Horizontal gap between letters */
  width: 100%;
  box-sizing: border-box;
}

.departure-row .flipboard-card {
  position: relative;
  aspect-ratio: 1 / 2;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  background-color: #000000;
  border-radius: 0px !important;
  border: 1px solid rgba(0, 0, 0, 0.35) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  perspective: 600px;
  transform-style: preserve-3d;
  cursor: pointer;
  user-select: none;
}

.departure-row .flipboard-card:last-child {
  border-right: 1px solid rgba(0, 0, 0, 0.35) !important;
}

.departure-row .flap-half {
  box-sizing: border-box;
}

.departure-row .flap-half img {
  position: absolute;
  left: 0;
  width: 100%;
  height: 200%;
  object-fit: fill;
  filter: none !important;
}

.departure-row .flipboard-hinge {
  position: absolute;
  top: calc(50% - 0.5px);
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.95);
  box-shadow: 0 0.5px 1px rgba(0, 0, 0, 0.8);
  z-index: 10;
  pointer-events: none;
}

.swiss-departure-board-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 28px;
  background-color: #F6F6F4;
  border-top: 1px solid var(--line-black);
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.1em;
  color: var(--ink-muted);
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .departure-board-section {
    margin: 0 10px 28px 10px;
    width: calc(100% - 20px);
  }
  .swiss-departure-board-container {
    border-radius: 12px;
  }
  .swiss-departure-board-header,
  .swiss-departure-board-footer {
    padding: 10px 14px;
    font-size: 8px;
  }
  .swiss-departure-board-viewport {
    padding: 24px 14px;
    overflow-x: hidden;
    background-color: #FFFFFF;
    display: flex;
    justify-content: center;
  }
  .swiss-departure-matrix {
    min-width: unset;
    max-width: 100%;
    width: 100%;
    gap: 6px;
    margin: 0 auto;
  }
  .departure-row {
    gap: 3px;
    width: 100%;
  }
  .departure-row .flipboard-card {
    display: block !important;
  }
}

.flipboard-card {
  position: relative;
  aspect-ratio: 4 / 5;
  border-right: 1px solid var(--line-black);
  background-color: #151515;
  overflow: hidden;
  perspective: 900px;
  transform-style: preserve-3d;
  cursor: pointer;
  user-select: none;
}

.flipboard-grid > .flipboard-card:last-child {
  border-right: none;
}

/* Flap Halves */
.flap-half {
  position: absolute;
  left: 0;
  width: 100%;
  height: 50%;
  overflow: hidden;
  backface-visibility: hidden;
  background-color: #151515;
}

.flap-half img {
  position: absolute;
  left: 0;
  width: 100%;
  height: 200%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: grayscale(100%) contrast(1.18) brightness(0.92);
  transition: filter 0.4s ease;
}

.flipboard-card:hover .flap-half img {
  filter: grayscale(0%) contrast(1.05) brightness(1);
}

/* Static Halves */
.flap-top-static {
  top: 0;
  z-index: 1;
}

.flap-top-static img {
  top: 0;
}

.flap-bottom-static {
  top: 50%;
  z-index: 1;
}

.flap-bottom-static img {
  top: -100%;
}

/* Animated Halves */
.flap-top-anim {
  top: 0;
  z-index: 3;
  transform-origin: bottom center;
  transform: rotateX(0deg);
}

.flap-top-anim img {
  top: 0;
}

.flap-top-anim.flipping {
  animation: flapTopDrop 0.18s cubic-bezier(0.45, 0.05, 0.55, 0.95) forwards;
}

@keyframes flapTopDrop {
  0% {
    transform: rotateX(0deg);
    filter: brightness(1);
  }

  100% {
    transform: rotateX(-90deg);
    filter: brightness(0.4);
  }
}

.flap-bottom-anim {
  top: 50%;
  z-index: 2;
  transform-origin: top center;
  transform: rotateX(90deg);
}

.flap-bottom-anim img {
  top: -100%;
}

.flap-bottom-anim.flipping {
  animation: flapBottomLand 0.18s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
  z-index: 4;
}

@keyframes flapBottomLand {
  0% {
    transform: rotateX(90deg);
    filter: brightness(0.4);
  }

  100% {
    transform: rotateX(0deg);
    filter: brightness(1);
  }
}

/* Physical Mechanical Split Line / Crease */
.flipboard-hinge {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 2px;
  background: rgba(0, 0, 0, 0.85);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  z-index: 10;
  pointer-events: none;
}

/* Specimen Index Badge */
.flipboard-tag {
  position: absolute;
  bottom: 8px;
  right: 8px;
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background: rgba(0, 0, 0, 0.82);
  padding: 3px 6px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  z-index: 15;
  pointer-events: none;
}

@media (max-width: 1200px) {
  .flipboard-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .flipboard-grid > .flipboard-card:nth-child(4) {
    border-right: none;
  }

  .flipboard-grid > .flipboard-card:nth-child(n+5) {
    display: none;
  }
}

@media (max-width: 768px) {
  .flipboard-header-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 24px 20px 18px;
    gap: 14px;
  }

  .flipboard-words-track {
    font-size: 9.5px;
    gap: 8px;
  }

  .flipboard-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .flipboard-grid > .flipboard-card:nth-child(2) {
    border-right: none;
  }

  .flipboard-grid > .flipboard-card:nth-child(n+3) {
    display: none;
  }
}

/* ==========================================================================
   RESPONSIVE & MOBILE DESIGN SYSTEM (Comprehensive Optimization)
   ========================================================================== */
@media (max-width: 1024px) {
  .hero-manifesto-row {
    grid-template-columns: 1fr;
    height: auto;
    min-height: auto;
    max-height: none;
  }

  .hero-text-pane {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
    padding: 40px 28px 32px;
  }

  .hero-image-pane {
    min-height: 380px;
    aspect-ratio: 16 / 10;
  }

  .specs-matrix-row {
    grid-template-columns: repeat(2, 1fr);
  }

  .spec-metric-cell {
    border-bottom: 1px solid var(--line-black);
  }

  .spec-metric-cell:nth-child(2n) {
    border-right: none;
  }

  .spec-metric-cell:last-child {
    grid-column: span 2;
    border-right: none;
    border-bottom: none;
  }

  .dossier-gallery-row {
    grid-template-columns: 1fr;
  }

  .dossier-cell {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .dossier-cell:last-child {
    border-bottom: none;
  }

  .logbook-section-row {
    grid-template-columns: 1fr;
  }

  .logbook-text-pane {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
    padding: 36px 24px;
  }

  .logbook-placard-pane {
    padding: 36px 20px;
  }

  .pdp-swiss-layout {
    grid-template-columns: 1fr;
  }

  .pdp-swiss-gallery {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
    position: relative;
    top: 0;
  }

  .blueprint-specs-grid-swiss {
    grid-template-columns: repeat(2, 1fr);
  }

  .swiss-footer {
    grid-template-columns: 1fr 1fr;
  }

  .swiss-footer-cell:nth-child(2) {
    border-right: none;
  }

  .taller-artisans-grid {
    grid-template-columns: 1fr;
  }

  .artisan-card {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .artisan-card:last-child {
    border-bottom: none;
  }
}

/* Mobile / Desktop Utility Visibility & Drawer Foundation */
.mobile-only {
  display: none !important;
}

.desktop-only {
  display: inline !important;
}

.swiss-mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 9, 0.65);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 9998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.swiss-mobile-overlay.active {
  opacity: 1;
  visibility: visible;
}

.swiss-mobile-drawer {
  position: fixed;
  top: 20px;
  left: 20px;
  width: 380px;
  max-width: calc(100vw - 40px);
  height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  background-color: var(--bg-pure);
  border: 1px solid var(--line-black);
  border-radius: 18px;
  box-shadow: 15px 20px 50px rgba(0, 0, 0, 0.28);
  z-index: 99999;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  box-sizing: border-box;
}

body.admin-bar .swiss-mobile-drawer {
  top: calc(32px + 16px) !important;
  height: calc(100vh - 32px - 32px) !important;
  max-height: calc(100vh - 32px - 32px) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .swiss-mobile-drawer {
    top: calc(46px + 10px) !important;
    height: calc(100vh - 46px - 20px) !important;
    max-height: calc(100vh - 46px - 20px) !important;
  }
}

/* Left Drawer (Navigation Menu) */
.swiss-drawer-left {
  transform: translateX(calc(-100% - 60px)) !important;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.35s;
}

.swiss-drawer-left.active {
  transform: translateX(0) !important;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

/* --------------------------------------------------------------------------
   SWISS CART DRAWER — FLOATING BOARDING PASS VOUCHER AESTHETIC
   -------------------------------------------------------------------------- */
.swiss-cart-drawer {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 450px;
  max-width: calc(100vw - 40px);
  height: calc(100vh - 40px);
  max-height: calc(100vh - 40px);
  background-color: var(--bg-pure);
  border: 1px solid var(--line-black);
  border-radius: 18px;
  box-shadow: -15px 20px 50px rgba(0, 0, 0, 0.28);
  z-index: 99999;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.35s;
  display: flex;
  flex-direction: row;
  overflow: hidden;
  box-sizing: border-box;
}

/* WP Admin Bar safety offset when logged in */
body.admin-bar .swiss-cart-drawer {
  top: calc(32px + 16px) !important;
  height: calc(100vh - 32px - 32px) !important;
  max-height: calc(100vh - 32px - 32px) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar .swiss-cart-drawer {
    top: calc(46px + 10px) !important;
    height: calc(100vh - 46px - 20px) !important;
    max-height: calc(100vh - 46px - 20px) !important;
  }
}

/* Right Drawer (Cart) */
.swiss-drawer-right {
  transform: translateX(calc(100% + 60px)) !important;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.35s;
}

.swiss-drawer-right.active {
  transform: translateX(0) !important;
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.mobile-drawer-header {
  padding: 22px 24px;
  border-bottom: 1px solid var(--line-black);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  background-color: var(--bg-pure);
}

.drawer-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink-black);
}

.drawer-cart-icon {
  font-size: 16px;
  vertical-align: middle;
}

.mobile-drawer-close {
  background: var(--bg-subtle);
  border: 1px solid var(--line-hairline);
  color: var(--ink-black);
  cursor: pointer;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-drawer-close:hover {
  background-color: var(--ink-black);
  color: #FFFFFF;
  border-color: var(--ink-black);
  transform: rotate(90deg);
}

.drawer-close-icon {
  font-size: 18px;
  vertical-align: middle;
  line-height: 1;
  display: inline-block;
  color: inherit;
}

.mobile-drawer-nav {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.mobile-nav-link {
  padding: 20px 24px;
  border-bottom: 1px solid var(--line-hairline);
  font-family: var(--font-mono);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink-black);
  display: flex;
  align-items: center;
  transition: background-color 0.2s, color 0.2s;
}

.mobile-nav-link .bracket {
  color: var(--ink-faint);
  margin-right: 6px;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
  background-color: var(--ink-black);
  color: #FFFFFF;
}

.mobile-nav-link:hover .bracket,
.mobile-nav-link.active .bracket {
  color: var(--accent-red);
}

.mobile-drawer-footer {
  padding: 24px 20px;
  border-top: 1px solid var(--line-black);
  background-color: var(--bg-subtle);
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

/* Mini-Cart Boarding Pass Lateral Spine (Desktop Only) */
.swiss-cart-boarding-strip {
  width: 46px;
  background-color: var(--ink-black);
  color: #FFFFFF;
  border-right: 1px solid var(--line-black);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  box-sizing: border-box;
  flex-shrink: 0;
  user-select: none;
}

.boarding-strip-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  width: 100%;
}

.boarding-strip-code {
  font-family: var(--font-tech);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: #FFFFFF;
  text-align: center;
}

.boarding-strip-track {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  overflow: hidden;
}

.boarding-strip-text {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #FFFFFF;
  white-space: nowrap;
  opacity: 0.95;
}

.boarding-strip-barcode {
  width: 20px;
  height: 46px;
  background: repeating-linear-gradient(0deg,
      #FFFFFF,
      #FFFFFF 1px,
      transparent 1px,
      transparent 3px);
  opacity: 0.55;
  margin: 10px 0;
}

.boarding-strip-notch {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--accent-red);
  text-align: center;
}

.swiss-cart-main-pane {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  min-width: 0;
  background-color: var(--bg-pure);
}

/* Mini-Cart Drawer Styles */
.swiss-cart-drawer-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: auto;
  padding: 20px;
}

.swiss-cart-items-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.swiss-cart-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line-hairline);
}

.swiss-cart-thumb {
  width: 60px;
  height: 60px;
  border: 1px solid var(--line-black);
  background-color: #fff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.swiss-cart-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.swiss-cart-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.swiss-cart-name-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
}

.swiss-cart-name {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-black) !important;
  line-height: 1.3;
  text-decoration: none;
  transition: color 0.2s;
}

.swiss-cart-name:hover {
  color: var(--accent-red) !important;
}

.swiss-cart-remove {
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 700;
  color: var(--ink-muted) !important;
  text-decoration: none;
  line-height: 1;
  cursor: pointer;
  padding: 0 4px;
  transition: color 0.2s;
}

.swiss-cart-remove:hover {
  color: var(--accent-red) !important;
}

.swiss-cart-variations dl.variation,
.swiss-cart-item dl.variation {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  gap: 2px 8px !important;
  margin: 4px 0 6px 0 !important;
  padding: 6px 8px !important;
  background-color: var(--bg-subtle) !important;
  border-left: 2px solid var(--ink-black) !important;
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  letter-spacing: 0.03em !important;
}

.swiss-cart-variations dl.variation dt,
.swiss-cart-item dl.variation dt {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  align-self: baseline !important;
}

.swiss-cart-variations dl.variation dd,
.swiss-cart-item dl.variation dd {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-black) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  align-self: baseline !important;
}

.swiss-cart-variations dl.variation dd p,
.swiss-cart-item dl.variation dd p {
  margin: 0 !important;
  padding: 0 !important;
  display: inline !important;
}

.swiss-cart-meta {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--ink-muted);
}

.swiss-cart-total-box {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line-black);
}

.swiss-cart-subtotal {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.swiss-cart-subtotal strong {
  font-family: var(--font-tech);
  font-size: 16px;
  color: var(--ink-black);
}

.swiss-cart-view-link {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-muted);
  text-decoration: none;
  transition: color 0.2s;
}

.swiss-cart-view-link:hover {
  color: var(--accent-red);
}

.swiss-cart-empty {
  text-align: center;
  padding: 40px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.empty-cart-icon {
  font-family: var(--font-tech);
  font-size: 28px;
  color: var(--ink-faint);
  margin-bottom: 12px;
}

.empty-cart-text {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--ink-muted);
}

.swiss-cart-empty .btn-swiss-action {
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  padding: 12px 16px !important;
  white-space: nowrap !important;
  width: 100% !important;
  max-width: 280px !important;
  text-align: center !important;
  justify-content: center !important;
  margin-top: 16px !important;
}

/* Google Material Symbols Utilities */
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
  font-variation-settings: 'FILL' 0, 'wght' 350, 'GRAD' 0, 'opsz' 24;
}

.header-cart-icon {
  font-size: 17px;
  vertical-align: -2px;
  display: inline-block;
  line-height: 1;
}

.header-menu-icon {
  font-size: 20px;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  color: var(--ink-black);
  transition: color 0.2s;
}

.drawer-cart-icon {
  font-size: 15px;
  vertical-align: -2px;
  color: var(--accent-red);
}

/* Mobile Header Button Utilities */
.swiss-mobile-actions {
  display: none;
}

.swiss-mobile-account-btn {
  height: 100%;
  min-height: 56px;
  background: var(--bg-pure);
  border: none;
  border-left: 1px solid var(--line-black);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  cursor: pointer;
  color: var(--ink-black);
  text-decoration: none;
  transition: background-color 0.2s, color 0.2s;
}

.swiss-mobile-account-btn:hover,
.swiss-mobile-account-btn:active {
  background-color: var(--ink-black);
  color: #FFFFFF;
}

.swiss-mobile-account-btn .header-user-icon {
  font-size: 20px;
  line-height: 1;
  display: inline-block;
}

.swiss-mobile-cart-btn {
  height: 100%;
  min-height: 56px;
  background: var(--bg-pure);
  border: none;
  border-left: 1px solid var(--line-black);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 16px;
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-black);
  transition: background-color 0.2s, color 0.2s;
}

.swiss-mobile-cart-btn:hover,
.swiss-mobile-cart-btn:active {
  background-color: var(--ink-black);
  color: #FFFFFF;
}

.swiss-mobile-cart-btn .mobile-cart-badge {
  color: var(--accent-red);
}

@media (max-width: 768px) {
  .swiss-page-wrapper {
    border-left: none;
    border-right: none;
  }

  .swiss-cart-boarding-strip {
    display: none !important;
  }

  .swiss-cart-drawer {
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    width: calc(100vw - 20px) !important;
    max-width: 380px !important;
    height: calc(100vh - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 16px !important;
    flex-direction: column !important;
  }

  .swiss-mobile-drawer {
    top: 10px !important;
    left: 10px !important;
    right: auto !important;
    width: calc(100vw - 20px) !important;
    max-width: 360px !important;
    height: calc(100vh - 20px) !important;
    max-height: calc(100vh - 20px) !important;
    border-radius: 16px !important;
  }

  .swiss-nav-cell,
  .desktop-nav-only,
  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: flex !important;
  }

  span.mobile-only {
    display: inline !important;
  }

  .swiss-telemetry-cell {
    display: none !important;
  }

  /* 1. Header & Navigation (3-Column Layout: [ ☰ ] [ LOGO ] [ ACTIONS: ACCOUNT + CART ]) */
  .swiss-announcement-strip {
    height: 32px;
    font-size: 9px;
  }

  .swiss-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    height: 56px;
  }

  .swiss-mobile-toggle {
    width: 56px;
    height: 100%;
    min-height: 56px;
    background: var(--bg-pure);
    border: none;
    border-right: 1px solid var(--line-black);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 0 14px;
    transition: background-color 0.2s;
    order: 1;
  }

  .swiss-mobile-toggle:hover,
  .swiss-mobile-toggle:active {
    background-color: var(--ink-black);
  }

  .swiss-mobile-toggle:hover .header-menu-icon,
  .swiss-mobile-toggle:active .header-menu-icon {
    color: #FFFFFF;
  }

  .swiss-brand-cell {
    padding: 10px 14px;
    border-right: none;
    border-bottom: none;
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 2;
  }

  .swiss-mobile-actions {
    display: flex !important;
    align-items: stretch;
    order: 3;
    height: 100%;
  }

  .swiss-mobile-account-btn {
    display: flex !important;
    padding: 0 14px;
  }

  .swiss-mobile-cart-btn {
    padding: 0 14px;
    border-left: 1px solid var(--line-black);
  }

  /* 2. Hero Section - Unified Boarding Pass Box */
  .hero-manifesto-row {
    display: flex;
    flex-direction: column;
    width: calc(100% - 20px);
    margin: 14px 10px 28px 10px;
    border: 1px solid var(--line-black);
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
    height: auto;
    min-height: auto;
    max-height: none;
  }

  .hero-text-pane {
    padding: 32px 20px 24px;
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .monumental-title {
    font-size: clamp(2.4rem, 11vw, 3.4rem);
    margin: 8px 0 12px;
  }

  .hero-lead-text {
    font-size: 14px;
    line-height: 1.5;
  }

  .hero-image-pane {
    min-height: 280px;
    aspect-ratio: 4 / 3;
    height: auto;
  }

  .hero-plane-badge {
    top: 12px;
    right: 12px;
    padding: 8px 10px;
  }

  /* 3. Social Proof Section (Home) - Full Width */
  .social-proof-section {
    padding: 0;
    margin: 0 10px 28px 10px;
    width: calc(100% - 20px);
    border: 1px solid var(--line-black);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  .social-proof-header {
    padding: 20px 18px 16px;
    gap: 10px;
  }

  .social-proof-header-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .social-proof-title {
    font-size: clamp(1.6rem, 6vw, 2.2rem);
  }

  .social-proof-tag {
    font-size: 8.5px;
  }

  .social-proof-grid {
    grid-template-columns: repeat(3, 1fr);
    background-color: var(--bg-pure);
  }

  .social-proof-cell {
    border-right: 1px solid var(--line-black);
    border-bottom: none;
    padding: 16px 10px 18px;
    min-height: auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .social-proof-cell .coord-tag {
    font-size: 8px;
    letter-spacing: 0.06em;
    margin-bottom: 4px;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .social-proof-cell .coord-tag .tag-num {
    font-size: 7.5px;
    padding: 1px 3px;
  }

  .social-proof-cell:last-child {
    border-right: none;
    border-bottom: none;
  }

  .social-proof-number {
    font-size: clamp(1.8rem, 6.5vw, 2.5rem);
    margin: 8px 0 10px 0;
    line-height: 1;
  }

  .social-proof-desc {
    font-size: 11px;
    line-height: 1.35;
    color: var(--ink-muted);
  }

  /* 4. Arty Dossier Section (Home) - Unified Boarding Pass Box */
  .dossier-gallery-row {
    display: flex;
    flex-direction: column;
    width: calc(100% - 20px);
    margin: 0 10px 28px 10px;
    border: 1px solid var(--line-black);
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  .dossier-cell {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .dossier-cell:last-child {
    border-bottom: none;
  }

  .dossier-cell-content {
    padding: 22px 18px 24px;
  }

  /* 5. Solari Flipboard Gallery */
  .flipboard-header-row {
    flex-direction: column;
    align-items: flex-start;
    padding: 20px 16px 16px;
    gap: 12px;
  }

  .flipboard-header-row .coord-tag {
    font-size: 8.5px;
    letter-spacing: 0.1em;
  }

  .flipboard-title-line {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    width: 100%;
  }

  .flipboard-title {
    font-size: clamp(1.8rem, 7vw, 2.4rem);
  }

  .flipboard-words-track {
    font-size: 8px;
    letter-spacing: 0.04em;
    gap: 4px;
    flex-wrap: nowrap;
    white-space: nowrap;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .flip-keyword-sep {
    padding: 0 1px;
  }

  .flipboard-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .flipboard-grid > .flipboard-card:nth-child(2) {
    border-right: none;
  }

  .flipboard-grid > .flipboard-card:nth-child(n+3) {
    display: none;
  }

  /* 5. Taller: Founder Quote, Artisans & Philosophy */
  .founder-quote-row {
    padding: 40px 18px;
    gap: 16px;
    width: 100%;
    margin: 0 0 28px 0;
    box-sizing: border-box;
  }

  .founder-quote-heading {
    font-size: clamp(1.4rem, 5.2vw, 2rem);
    margin: 6px auto 0;
  }

  .founder-quote-meta {
    padding-top: 14px;
  }

  .taller-artisans-grid {
    grid-template-columns: 1fr;
    width: calc(100% - 20px);
    margin: 0 10px 28px 10px;
    border: 1px solid var(--line-black);
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  .artisan-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border-right: none;
    border-bottom: 1px solid var(--line-black);
    width: 100%;
    box-sizing: border-box;
  }

  .artisan-card:last-child {
    border-bottom: none;
  }

  .artisan-photo-box {
    width: 120px;
    min-width: 120px;
    max-width: 120px;
    height: 135px;
    aspect-ratio: auto;
    border-right: 1px solid var(--line-black);
    border-bottom: none;
    flex-shrink: 0;
    overflow: hidden;
  }

  .artisan-photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .artisan-photo-box .img-corner-tag {
    font-size: 7.5px;
    padding: 2px 4px;
    bottom: 4px;
    left: 4px;
    letter-spacing: 0.08em;
  }

  .artisan-info-box {
    padding: 16px 14px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    min-width: 0;
  }

  .artisan-name {
    font-size: 1.15rem;
    margin: 0 0 4px;
    line-height: 1.15;
    word-break: break-word;
  }

  .taller-philosophy-single {
    padding: 38px 20px 32px;
  }

  .philosophy-statement {
    font-size: clamp(1.05rem, 3.8vw, 1.45rem);
    margin: 16px 0 0;
    line-height: 1.4;
  }

  .taller-philosophy-footer {
    margin-top: 18px;
    font-size: 8px;
  }

  /* 6. Product / PDP Configurator - Unified Boarding Pass Box */
  .pdp-swiss-layout {
    display: flex;
    flex-direction: column;
    width: calc(100% - 20px);
    margin: 14px 10px 28px 10px;
    border: 1px solid var(--line-black);
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  .pdp-swiss-gallery {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
    position: relative;
    top: 0;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    padding: 0;
    gap: 0;
    display: flex;
    flex-direction: column;
  }

  .pdp-hero-image-wrap {
    aspect-ratio: 4 / 3;
    min-height: auto;
    height: auto;
    width: 100%;
    max-width: 100%;
    border: none;
    border-bottom: 1px solid var(--line-black);
    border-radius: 0;
    box-sizing: border-box;
    overflow: hidden;
  }

  .pdp-nav-arrow {
    width: 34px;
    height: 34px;
    font-size: 14px;
    border-radius: 6px;
  }

  .pdp-nav-prev {
    left: 8px;
  }

  .pdp-nav-next {
    right: 8px;
  }

  .pdp-thumb-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .pdp-thumb-cell {
    aspect-ratio: 1 / 1;
    min-width: 0;
    width: 100%;
    border: none;
    border-right: 1px solid var(--line-black);
    border-radius: 0;
    box-sizing: border-box;
  }

  .pdp-thumb-cell:last-child {
    border-right: none;
  }

  .pdp-swiss-config {
    padding: 24px 18px 28px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    justify-content: flex-start;
  }

  .pdp-header-block {
    width: 100%;
    box-sizing: border-box;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }

  .pdp-header-block .coord-tag {
    justify-content: flex-start;
  }

  .pdp-header-block .coord-tag .pdp-origin-tag,
  .pdp-header-block .coord-tag > span:first-child:not(#config-serial-display) {
    display: none !important;
  }

  .pdp-model-title {
    font-size: clamp(1.8rem, 6.5vw, 2.4rem);
    word-break: break-word;
  }

  .pdp-price-tag {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: clamp(24px, 7vw, 30px);
    width: 100%;
    box-sizing: border-box;
  }

  .pdp-installments {
    font-size: 11px;
    line-height: 1.35;
    white-space: normal;
  }

  .config-section {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 22px;
  }

  .config-label-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    font-size: 9.5px;
    letter-spacing: 0.08em;
    width: 100%;
    box-sizing: border-box;
  }

  .config-btn-grid {
    display: flex;
    width: 100%;
    border: 1px solid var(--line-black);
    border-radius: 8px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-sizing: border-box;
  }

  .config-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 4px;
    font-size: 9px;
    letter-spacing: 0.03em;
    line-height: 1.2;
    border: none;
    border-right: 1px solid var(--line-black);
    min-width: 0;
    box-sizing: border-box;
    white-space: normal;
    word-break: break-word;
    text-align: center;
    background-color: transparent;
    color: var(--ink-black) !important;
    -webkit-text-fill-color: var(--ink-black) !important;
    user-select: none;
  }

  .config-btn:last-child {
    border-right: none;
  }

  .config-btn.selected {
    background-color: var(--ink-black) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    border: none !important;
    border-right: 1px solid var(--line-black) !important;
    box-shadow: none;
  }

  .config-btn:last-child.selected {
    border-right: none !important;
  }

  .blueprint-full-section {
    display: flex;
    flex-direction: column;
    width: calc(100% - 20px);
    margin: 0 10px 28px 10px;
    border: 1px solid var(--line-black);
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--bg-pure);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
    box-sizing: border-box;
  }

  .blueprint-header-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 18px 16px;
    width: 100%;
    box-sizing: border-box;
    border-bottom: 1px solid var(--line-black);
    background-color: var(--bg-subtle);
  }

  .blueprint-specs-grid-swiss {
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
    box-sizing: border-box;
  }

  .blueprint-cell {
    padding: 16px 12px;
    border-right: 1px solid var(--line-black);
    border-bottom: 1px solid var(--line-black);
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
  }

  .blueprint-cell:nth-child(2n) {
    border-right: none;
  }

  .blueprint-cell .coord-tag {
    font-size: 10px;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
    height: 18px;
    line-height: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
  }

  .blueprint-metric-title {
    font-size: 1.15rem;
    line-height: 1.15;
    margin: 0 0 6px 0;
    word-break: break-word;
    min-height: 38px;
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
  }

  .blueprint-cell p {
    font-size: 13px !important;
    line-height: 1.5;
    margin-bottom: 0;
  }

  .pdp-swiss-config .barcode-clean,
  .pdp-swiss-config .barcode-subtext {
    display: none !important;
  }

  .pdp-included-tag {
    text-align: left !important;
    width: 100%;
    display: block;
    font-size: 11px !important;
    letter-spacing: 0.06em !important;
  }

  .grid-cols-2,
  .grid-cols-3,
  .grid-cols-4,
  .grid-cols-12 {
    grid-template-columns: 1fr !important;
  }

  .grid-cell {
    padding: 20px 16px !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line-black);
    box-sizing: border-box;
    width: 100%;
  }

  .grid-cell:last-child {
    border-bottom: none;
  }

  .faq-swiss-btn {
    padding: 18px 16px;
    font-size: 12px;
    gap: 12px;
    box-sizing: border-box;
    width: 100%;
  }

  .faq-swiss-content {
    padding: 0 16px 20px;
    font-size: 13.5px;
    line-height: 1.6;
    box-sizing: border-box;
  }

  .specs-matrix-row {
    grid-template-columns: repeat(2, 1fr);
    margin: 0 0 28px 0;
  }

  .spec-metric-cell {
    padding: 20px 16px 24px;
    border-right: 1px solid var(--line-black);
    border-bottom: 1px solid var(--line-black);
  }

  .spec-metric-cell:nth-child(2n) {
    border-right: none;
  }

  .spec-metric-cell:last-child {
    grid-column: span 2;
    border-right: none;
    border-bottom: none;
  }

  .spec-huge-number {
    font-size: clamp(2rem, 6.5vw, 2.8rem);
    min-height: 38px;
    margin-bottom: 10px;
  }

  .spec-metric-desc {
    font-size: 13px;
    line-height: 1.5;
  }

  /* 7. CTA Banner & Footer */
  .cta-banner-row {
    grid-template-columns: 1fr;
    padding: 32px 16px;
    gap: 18px;
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    overflow-x: hidden;
  }

  .cta-banner-title {
    font-size: clamp(1.05rem, 4.4vw, 1.45rem);
    letter-spacing: -0.045em;
    line-height: 1.1;
    white-space: nowrap;
    width: 100%;
    max-width: 100%;
  }

  .cta-banner-plane {
    display: none;
  }

  .btn-swiss-action {
    width: 100%;
    justify-content: space-between;
    padding: 14px 16px;
    font-size: 10px;
    letter-spacing: 0.04em;
    gap: 8px;
    box-sizing: border-box;
  }

  #btn-emitir-orden {
    padding: 14px 14px;
    font-size: 9.5px;
    letter-spacing: 0.02em;
    white-space: nowrap;
    gap: 6px;
  }

  .swiss-footer {
    grid-template-columns: 1.35fr 1fr;
  }

  .swiss-footer-cell {
    padding: 22px 14px;
    border-right: none;
    border-bottom: none;
  }

  .swiss-footer-brand {
    grid-column: span 2;
    border-bottom: 1px solid var(--line-black);
    padding: 26px 16px;
  }

  .swiss-footer-specs {
    display: none !important;
  }

  .swiss-footer-indice {
    border-right: 1px solid var(--line-black);
    padding-left: 16px;
  }

  .swiss-footer-contact {
    border-right: none;
    padding-left: 16px;
    padding-right: 14px;
  }

  .swiss-footer-heading {
    font-size: 10px;
    letter-spacing: 0.14em;
    margin-bottom: 14px;
  }

  .swiss-footer-list {
    gap: 9px;
  }

  .swiss-footer-list a {
    font-size: 10px;
    letter-spacing: 0.03em;
    white-space: nowrap;
  }
}

/* ==========================================================================
   8. SWISS UNIVERSAL DOCUMENT PAGES & WOOCOMMERCE ECOSYSTEM
   Applied to: Cart, Checkout, My Account, Order Tracking, Contact, Privacy, Terms
   ========================================================================== */

.swiss-doc-main {
  width: 100%;
  background-color: var(--bg-pure);
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative;
}

.swiss-doc-container {
  width: 100%;
  margin: 0 auto;
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.swiss-doc-body {
  flex: 1 0 auto !important;
}

/* Document Official Header Strip */
.swiss-doc-header {
  border-bottom: 1px solid var(--line-black);
  padding: 32px 36px 28px 36px;
  background-color: var(--bg-pure);
  position: relative;
}

.swiss-doc-telemetry {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: var(--ink-muted);
  text-transform: uppercase;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--line-hairline);
}

.swiss-doc-telemetry .tag-accent {
  color: var(--accent-red);
  font-weight: bold;
}

.swiss-doc-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
}

.swiss-doc-title {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4.5vw, 3.2rem);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: var(--ink-black);
  margin: 0;
}

/* Main Document Body */
.swiss-doc-body {
  padding: 40px 36px 80px 36px;
  font-family: var(--font-body);
  color: var(--ink-dark);
}

/* --------------------------------------------------------------------------
   A. CONTACT DOSSIER PAGE
   -------------------------------------------------------------------------- */
.swiss-contact-doc-header,
.page-template-page-contact .swiss-doc-header,
.page-template-page-contact-php .swiss-doc-header {
  border-bottom: none !important;
}

.swiss-contact-master-card,
.swiss-contact-grid {
  border: 1px solid var(--line-black);
  background-color: var(--bg-pure);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(10, 10, 9, 0.04);
}

.swiss-contact-top-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  border-bottom: 1px solid var(--line-black);
}

.contact-radar-cell,
.contact-dossier-cell {
  padding: 36px 32px;
  border-right: 1px solid var(--line-black);
  background-color: var(--bg-subtle);
  display: flex;
  flex-direction: column;
}

.contact-form-cell {
  padding: 36px 32px;
  background-color: var(--bg-pure);
}

.contact-cell-header {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--ink-black);
  margin-bottom: 24px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line-black);
}

/* ==========================================================================
   TACTICAL RADAR HUD VIEWPORT (CONTACT PAGE)
   ========================================================================== */
.swiss-radar-container {
  position: relative;
  width: 100%;
  height: 360px;
  border: 1px solid var(--line-black);
  background-color: #E6E6E3;
  overflow: hidden;
  margin-bottom: 16px;
}

.swiss-radar-map-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.radar-map-iframe {
  width: 100%;
  height: 100%;
  border: none;
  filter: grayscale(100%) contrast(125%) brightness(96%);
  opacity: 0.88;
}

.swiss-radar-hud-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 12px;
  background: radial-gradient(circle at center, rgba(247, 247, 246, 0.05) 0%, rgba(247, 247, 246, 0.3) 100%);
}

.radar-telemetry-top,
.radar-telemetry-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--ink-black);
  background-color: rgba(255, 255, 255, 0.92);
  padding: 4px 8px;
  border: 1px solid rgba(10, 10, 9, 0.3);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.radar-live-dot {
  color: var(--accent-red);
  display: inline-block;
  animation: radarBlink 1.5s ease-in-out infinite;
  margin-right: 4px;
}

@keyframes radarBlink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.2; }
}

.radar-reticle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 240px;
  pointer-events: none;
}

.radar-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 1px dashed rgba(10, 10, 9, 0.25);
}

.radar-circle-1 { width: 80px; height: 80px; }
.radar-circle-2 { width: 150px; height: 150px; border-style: solid; border-color: rgba(10, 10, 9, 0.16); }
.radar-circle-3 { width: 220px; height: 220px; }

.radar-dist-tag {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 0 4px;
  color: var(--ink-muted);
}

.radar-cross-h {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(10, 10, 9, 0.28) 15%, rgba(10, 10, 9, 0.28) 85%, transparent 100%);
  transform: translateY(-50%);
}

.radar-cross-v {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, rgba(10, 10, 9, 0.28) 15%, rgba(10, 10, 9, 0.28) 85%, transparent 100%);
  transform: translateX(-50%);
}

.radar-sweep-beam {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 110px;
  height: 110px;
  transform-origin: top left;
  background: conic-gradient(from 0deg, rgba(208, 59, 43, 0.2) 0deg, rgba(208, 59, 43, 0.03) 45deg, transparent 60deg);
  border-radius: 100% 0 0 0;
  animation: radarSweep 6s linear infinite;
}

@keyframes radarSweep {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.radar-target-beacon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 10;
}

.beacon-dot {
  width: 10px;
  height: 10px;
  background-color: var(--accent-red);
  border: 2px solid #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 0 8px rgba(208, 59, 43, 0.9);
}

.beacon-pulse {
  position: absolute;
  top: 0;
  left: 50%;
  width: 32px;
  height: 32px;
  margin-top: -11px;
  margin-left: -16px;
  border-radius: 50%;
  border: 1.5px solid var(--accent-red);
  animation: beaconPing 2s cubic-bezier(0.16, 1, 0.3, 1) infinite;
}

@keyframes beaconPing {
  0% { transform: scale(0.4); opacity: 1; }
  100% { transform: scale(2.2); opacity: 0; }
}

.beacon-label {
  margin-top: 6px;
  background-color: rgba(10, 10, 9, 0.92);
  color: #FFFFFF;
  padding: 3px 7px;
  font-family: var(--font-mono);
  font-size: 8.5px;
  letter-spacing: 0.1em;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.beacon-tag {
  font-size: 7.5px;
  color: var(--accent-red);
  font-weight: 700;
}

.beacon-name {
  font-size: 9px;
  font-weight: 700;
}

.radar-footer-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
  padding: 12px 14px;
  background-color: #FFFFFF;
  border: 1px solid var(--line-hairline);
  margin-top: auto;
}

.radar-meta-item {
  display: flex;
  gap: 8px;
}

.radar-meta-item .meta-label {
  font-weight: 700;
  color: var(--ink-black);
}

.radar-meta-item .meta-value {
  color: var(--ink-muted);
}

/* --------------------------------------------------------------------------
   BOTTOM ROW: 3 DIRECT CHANNELS BULLETS
   -------------------------------------------------------------------------- */
.swiss-contact-bottom-channels {
  background-color: var(--bg-pure);
}

.contact-channels-header-strip {
  padding: 22px 32px 14px;
  background-color: var(--bg-subtle);
  border-bottom: 1px solid var(--line-black);
}

.contact-channels-header-strip .cell-label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--ink-black);
}

.contact-channels-3col-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.contact-channels-3col-grid .contact-channel-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #FFFFFF;
  border: none;
  border-right: 1px solid var(--line-black);
  padding: 28px 30px;
  color: var(--ink-black);
  position: relative;
}

.contact-channels-3col-grid .contact-channel-card:last-child {
  border-right: none;
}

.contact-channels-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.contact-channel-card {
  display: block;
  background-color: #FFFFFF;
  border: 1px solid var(--line-black);
  border-radius: 0px !important;
  padding: 20px 22px;
  color: var(--ink-black);
  position: relative;
}

/* No hover invert on cards */
.contact-channel-card:hover {
  background-color: #FFFFFF !important;
  color: var(--ink-black) !important;
  transform: none !important;
  box-shadow: none !important;
}

.channel-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  margin-bottom: 8px;
}

.channel-name {
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
  color: var(--ink-black) !important;
  text-decoration: none !important;
}

.channel-desc {
  font-size: 12px;
  line-height: 1.55;
  color: var(--ink-muted) !important;
  margin-bottom: 14px;
  text-decoration: none !important;
}

.channel-action-row {
  margin-top: 4px;
}

.channel-action,
.contact-channel-card .channel-action {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--accent-red) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
  transition: color 0.15s ease, transform 0.15s ease;
}

.channel-action:hover,
.contact-channel-card .channel-action:hover {
  color: var(--ink-black) !important;
  transform: translateX(3px);
}

.channel-meta-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.08em;
  background-color: var(--bg-subtle);
  border: 1px solid var(--line-hairline);
  border-radius: 0px !important;
  padding: 4px 8px;
  color: var(--ink-dark);
}

.swiss-contact-page .swiss-input,
.swiss-contact-page .swiss-select,
.swiss-contact-page .swiss-textarea {
  border-radius: 0px !important;
}

.swiss-contact-page .btn-swiss-action {
  border-radius: 0px !important;
}

/* Swiss Industrial Form */
.swiss-industrial-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.form-label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--ink-black);
  text-transform: uppercase;
}

.swiss-input,
.swiss-select,
.swiss-textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce-page form .form-row textarea,
.woocommerce-page form .form-row select {
  width: 100%;
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 12px 14px !important;
  font-family: var(--font-body) !important;
  font-size: 13px !important;
  color: var(--ink-black) !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.2s, background-color 0.2s;
}

.swiss-input:focus,
.swiss-select:focus,
.swiss-textarea:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--ink-black) !important;
  background-color: #FFFFFF !important;
  box-shadow: 2px 2px 0px var(--ink-black) !important;
}

.btn-full-width {
  width: 100%;
  justify-content: space-between;
  padding: 16px 20px;
}

.form-footer-note {
  font-family: var(--font-mono);
  font-size: 9.5px;
  letter-spacing: 0.08em;
  color: var(--ink-muted);
  text-align: center;
  margin-top: 6px;
}

/* --------------------------------------------------------------------------
   B. WOOCOMMERCE GLOBAL SWISS BRUTALIST OVERRIDES
   -------------------------------------------------------------------------- */
.woocommerce .woocommerce-notices-wrapper,
.woocommerce-page .woocommerce-notices-wrapper {
  margin-bottom: 24px;
  width: 100%;
  grid-column: 1 / -1 !important;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: 0px !important;
  border: 1px solid var(--line-black) !important;
  border-left: 4px solid var(--ink-black) !important;
  background-color: #FFFFFF !important;
  color: var(--ink-black) !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.04em !important;
  padding: 16px 20px !important;
  margin-bottom: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
  box-shadow: none !important;
}

.woocommerce-error {
  border-left-color: var(--accent-red) !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
  display: none !important;
  content: none !important;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  order: 2 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 8px 16px !important;
  border: 1px solid var(--line-black) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: all 0.2s !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.woocommerce-message .button:hover,
.woocommerce-info .button:hover,
.woocommerce-error .button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  color: #FFFFFF !important;
}

/* Links & Metas */
.woocommerce a,
.woocommerce-page a,
.swiss-doc-body a {
  color: var(--ink-black);
  text-decoration: underline;
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.woocommerce a:hover,
.woocommerce-page a:hover,
.swiss-doc-body a:hover {
  color: var(--accent-red);
}

/* Variations dl/dd/dt styling */
.woocommerce dl.variation,
.woocommerce-page dl.variation,
.product-name dl.variation,
.product-name .variation,
.swiss-review-info dl.variation,
.swiss-cart-item dl.variation {
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 6px !important;
  row-gap: 3px !important;
  align-items: baseline !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  line-height: 1.35 !important;
  color: var(--ink-muted) !important;
  margin: 8px 0 0 0 !important;
  text-transform: uppercase !important;
  border-left: 2px solid var(--line-black) !important;
  padding-left: 8px !important;
}

.woocommerce dl.variation dt,
.woocommerce-page dl.variation dt,
.product-name dl.variation dt,
.swiss-review-info dl.variation dt,
.swiss-cart-item dl.variation dt {
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.woocommerce dl.variation dt::after,
.woocommerce-page dl.variation dt::after,
.product-name dl.variation dt::after,
.swiss-review-info dl.variation dt::after,
.swiss-cart-item dl.variation dt::after {
  content: "" !important;
}

.woocommerce dl.variation dd,
.woocommerce-page dl.variation dd,
.product-name dl.variation dd,
.swiss-review-info dl.variation dd,
.swiss-cart-item dl.variation dd {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink-muted) !important;
  word-break: break-word !important;
}

.woocommerce dl.variation dd::after,
.woocommerce-page dl.variation dd::after,
.product-name dl.variation dd::after,
.swiss-review-info dl.variation dd::after,
.swiss-cart-item dl.variation dd::after {
  content: "" !important;
}

.woocommerce dl.variation dd p,
.woocommerce-page dl.variation dd p,
.product-name dl.variation dd p,
.swiss-review-info dl.variation dd p,
.swiss-cart-item dl.variation dd p {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}

/* --------------------------------------------------------------------------
   C. WOOCOMMERCE CART (/cart/) — TWO COLUMN GRID
   -------------------------------------------------------------------------- */

/* Hide all leftover Goya panels, modals, menus, and unwanted buttons */
.et-side-panel,
.mobile-menu-container,
.goya-panel,
.goya-search-panel,
.goya-cart-panel,
.goya-login-panel,
.goya-quickview-panel,
.et-quickview-modal,
.back-to-shop,
.goya-back-to-shop,
.free-shipping-progress-bar,
.et-mobile-menu,
.et-mobile-menu-panel,
.et-panel,
.et-off-canvas {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* === GOYA PARENT THEME RESET — neutralize Goya's Bootstrap cart layout === */
.woocommerce-cart .shopping-cart-content,
.woocommerce-cart .row.shopping-cart-content {
  display: block !important;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

.woocommerce-cart .cart-items,
.woocommerce-cart .cart-items.col-lg-7,
.woocommerce-cart .cart-items.col-xl-8 {
  float: none !important;
  width: 100% !important;
  flex: none !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-cart .cart-collaterals.col {
  float: none !important;
  width: 100% !important;
  flex: none !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-cart .collaterals-inner.et-fixed {
  position: static !important;
  width: 100% !important;
}

.woocommerce-cart .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* === END GOYA RESET === */

.woocommerce-cart .swiss-doc-body,
.swiss-body-cart {
  padding-top: 32px;
  width: 100% !important;
}

.woocommerce-cart .woocommerce,
.swiss-body-cart .woocommerce {
  display: block !important;
  width: 100% !important;
}

/* PRIMARY GRID — uses our child-theme cart.php template with .swiss-cart-grid */
.swiss-cart-grid {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
  width: 100% !important;
}

.swiss-cart-grid>.woocommerce-notices-wrapper {
  grid-column: 1 / -1 !important;
}

.swiss-cart-main {
  grid-column: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
}

.swiss-cart-main .woocommerce-cart-form {
  width: 100% !important;
  margin-bottom: 0 !important;
}

.swiss-cart-sidebar {
  grid-column: 2 !important;
  display: block !important;
  margin-top: 0 !important;
  width: 100% !important;
  position: sticky !important;
  top: 100px !important;
}

.woocommerce-cart table.cart,
.woocommerce-cart table.shop_table,
.swiss-body-cart table.shop_table {
  border: 1px solid var(--line-black) !important;
  border-collapse: collapse !important;
  width: 100% !important;
  border-radius: 0px !important;
  margin-bottom: 24px !important;
  background-color: #FFFFFF;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.shop_table th {
  background-color: var(--bg-subtle) !important;
  border-bottom: 1px solid var(--line-black) !important;
  border-right: 1px solid var(--line-black) !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  padding: 12px 14px !important;
}

.woocommerce-cart table.cart th:last-child,
.woocommerce-cart table.shop_table th:last-child {
  border-right: none !important;
}

.woocommerce-cart table.cart td,
.woocommerce-cart table.shop_table td {
  border-bottom: 1px solid var(--line-black) !important;
  border-right: 1px solid var(--line-hairline) !important;
  padding: 14px !important;
  vertical-align: middle !important;
  font-family: var(--font-body);
  font-size: 13px;
}

.woocommerce-cart table.cart td:last-child,
.woocommerce-cart table.shop_table td:last-child {
  border-right: none !important;
}

.woocommerce-cart table.cart .product-remove,
.swiss-body-cart table.cart .product-remove {
  width: 36px !important;
  text-align: center !important;
}

.woocommerce-cart .product-remove a.remove {
  width: 24px !important;
  height: 24px !important;
  line-height: 22px !important;
  border-radius: 0px !important;
  color: var(--accent-red) !important;
  border: 1px solid var(--line-hairline) !important;
  background-color: #FFFFFF !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 16px !important;
  font-weight: bold !important;
  text-decoration: none !important;
  transition: all 0.2s;
}

.woocommerce-cart .product-remove a.remove:hover {
  background-color: var(--accent-red) !important;
  color: #FFFFFF !important;
  border-color: var(--accent-red) !important;
}

/* STRICT PRODUCT THUMBNAIL DIMENSIONS */
.woocommerce-cart table.cart .product-thumbnail,
.swiss-body-cart table.cart .product-thumbnail {
  width: 90px !important;
  max-width: 90px !important;
  min-width: 80px !important;
  padding: 10px !important;
  text-align: center !important;
}

.woocommerce-cart table.cart .product-thumbnail img,
.woocommerce-cart table.cart td.product-thumbnail img,
.swiss-body-cart table.cart .product-thumbnail img {
  width: 72px !important;
  height: 72px !important;
  max-width: 72px !important;
  max-height: 72px !important;
  object-fit: cover !important;
  border: 1px solid var(--line-black) !important;
  display: block !important;
  margin: 0 auto !important;
}

.woocommerce-cart .product-name a {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-black);
  text-decoration: none;
}

.woocommerce-cart .product-name a:hover {
  color: var(--accent-red);
}

/* Quantity Selector */
.woocommerce .quantity,
.woocommerce-page .quantity {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--line-black) !important;
  background-color: #FFFFFF !important;
  width: auto !important;
  vertical-align: middle !important;
}

.woocommerce .quantity .qty,
.woocommerce-page .quantity .qty {
  border: none !important;
  border-left: 1px solid var(--line-black) !important;
  border-right: 1px solid var(--line-black) !important;
  width: 44px !important;
  height: 36px !important;
  text-align: center !important;
  padding: 0 !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  background: #FFFFFF !important;
}

.woocommerce .quantity .plus,
.woocommerce .quantity .minus,
.woocommerce-page .quantity .plus,
.woocommerce-page .quantity .minus {
  background: #FFFFFF !important;
  border: none !important;
  width: 32px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-mono) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background-color 0.2s;
}

.woocommerce .quantity .plus:hover,
.woocommerce .quantity .minus:hover {
  background-color: var(--bg-subtle) !important;
}

/* Actions & Coupon Area */
.woocommerce-cart table.cart td.actions,
.swiss-body-cart table.cart td.actions {
  border-top: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle) !important;
  padding: 18px 16px !important;
}

.woocommerce-cart table.cart td.actions .coupon,
.swiss-body-cart table.cart td.actions .coupon {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  float: left !important;
}

.woocommerce-cart table.cart td.actions .coupon label,
.swiss-body-cart table.cart td.actions .coupon label {
  display: none !important;
}

.woocommerce-cart table.cart td.actions .coupon input#coupon_code {
  height: 38px !important;
  width: 200px !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  background: #FFFFFF !important;
  padding: 0 12px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
}

.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart td.actions input.button,
.swiss-body-cart table.cart td.actions .button,
.swiss-body-cart table.cart td.actions input.button {
  height: 38px !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  background: var(--ink-black) !important;
  color: #FFFFFF !important;
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0 16px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
}

.woocommerce-cart table.cart td.actions .button:hover,
.woocommerce-cart table.cart td.actions input.button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
}

/* Shipping Methods List */
ul#shipping_method,
.woocommerce-shipping-methods {
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 !important;
}

ul#shipping_method li,
.woocommerce-shipping-methods li {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
}

ul#shipping_method li input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"] {
  accent-color: var(--ink-black) !important;
  margin: 0 !important;
}

/* Cart Collaterals & Totals Box */
.cart_totals {
  width: 100% !important;
  border: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle);
  padding: 24px !important;
  border-radius: 0px !important;
  float: none !important;
}

.cart_totals h2 {
  font-family: var(--font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--line-black) !important;
}

.cart_totals table.shop_table {
  background-color: transparent !important;
  border: none !important;
  margin-bottom: 20px !important;
}

.cart_totals table.shop_table th {
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px dashed var(--line-hairline) !important;
  font-size: 11px !important;
  color: var(--ink-muted) !important;
  padding: 10px 0 !important;
}

.cart_totals table.shop_table td {
  border: none !important;
  border-bottom: 1px dashed var(--line-hairline) !important;
  text-align: right !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 0 !important;
}

.cart_totals .order-total th,
.cart_totals .order-total td {
  border-bottom: 1px solid var(--line-black) !important;
  font-size: 1.15rem !important;
  color: var(--ink-black) !important;
  padding-top: 14px !important;
}

.wc-proceed-to-checkout .checkout-button {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 16px 20px !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  transform: translateY(-2px);
  box-shadow: 4px 4px 0px rgba(10, 10, 9, 0.2);
}

/* --------------------------------------------------------------------------
   D. WOOCOMMERCE CHECKOUT (/checkout/) — TWO COLUMN GRID
   -------------------------------------------------------------------------- */

/* === GOYA PARENT THEME RESET — neutralize Goya's Bootstrap checkout layout === */
.woocommerce-checkout .checkout-form-wrapper {
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout .checkout-options,
.woocommerce-checkout .checkout-options .row {
  display: block !important;
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout form.checkout .row {
  display: block !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.woocommerce-checkout .col-lg-7,
.woocommerce-checkout .col-lg-5,
.woocommerce-checkout .woocommerce-checkout-customer-fields,
.woocommerce-checkout .woocommerce-checkout-review-order-container {
  float: none !important;
  width: 100% !important;
  flex: none !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout .before-checkout {
  margin-bottom: 16px !important;
}

/* === END GOYA CHECKOUT RESET === */

.woocommerce-checkout .swiss-doc-body,
.swiss-body-checkout {
  padding-top: 32px;
}

/* PRIMARY GRID — uses our child-theme form-checkout.php with .swiss-checkout-grid */
form.swiss-checkout-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
  width: 100% !important;
}

.swiss-checkout-main {
  grid-column: 1 !important;
  min-width: 0 !important;
}

.swiss-checkout-sidebar {
  grid-column: 2 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  border: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle) !important;
  padding: 24px !important;
  position: sticky !important;
  top: 100px !important;
}

.swiss-sidebar-label {
  display: none !important;
}

/* col2-set: billing & shipping stacked vertically in the left column */
form.swiss-checkout-grid .col2-set {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

form.swiss-checkout-grid .col2-set .col-1,
form.swiss-checkout-grid .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
}

/* FALLBACK — for Goya's Bootstrap-based checkout */
.woocommerce-checkout form.checkout,
.swiss-body-checkout form.checkout {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 40px !important;
  align-items: start !important;
}

.woocommerce-checkout form.checkout .col2-set,
.swiss-body-checkout form.checkout .col2-set {
  grid-column: 1 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2,
.swiss-body-checkout form.checkout .col2-set .col-1,
.swiss-body-checkout form.checkout .col2-set .col-2 {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin-bottom: 24px !important;
}

.woocommerce-checkout form.checkout #order_review_heading,
.swiss-body-checkout form.checkout #order_review_heading {
  display: none !important;
}

.woocommerce-checkout form.checkout #order_review,
.swiss-body-checkout form.checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  border: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle) !important;
  padding: 24px !important;
  position: sticky !important;
  top: 100px !important;
}

.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  font-family: var(--font-display) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 20px !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--line-black) !important;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-billing-fields__field-wrapper .notes {
  grid-column: span 2;
}

.woocommerce form .form-row label,
.woocommerce-page form .form-row label {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

.woocommerce form .form-row .required {
  color: var(--accent-red) !important;
  text-decoration: none !important;
}

/* Strict Product Thumbnail in Order Review */
.woocommerce-checkout table.woocommerce-checkout-review-order-table img,
.woocommerce-checkout #order_review img,
.swiss-body-checkout #order_review img {
  width: 60px !important;
  height: 60px !important;
  max-width: 60px !important;
  max-height: 60px !important;
  object-fit: cover !important;
  border: 1px solid var(--line-black) !important;
  display: inline-block !important;
  margin-right: 10px !important;
  vertical-align: middle !important;
}

table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  margin-bottom: 24px !important;
  background-color: transparent !important;
}

table.woocommerce-checkout-review-order-table {
  border-collapse: collapse !important;
  width: 100% !important;
  border: none !important;
  margin-bottom: 24px !important;
}

table.woocommerce-checkout-review-order-table thead tr {
  border-bottom: 1px solid var(--line-black) !important;
}

table.woocommerce-checkout-review-order-table thead th {
  background-color: transparent !important;
  border: none !important;
  border-bottom: none !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 10px 0 14px 0 !important;
  color: var(--ink-black) !important;
}

table.woocommerce-checkout-review-order-table tbody tr {
  border-bottom: 1px solid var(--line-black) !important;
}

table.woocommerce-checkout-review-order-table tbody td {
  border: none !important;
  border-bottom: none !important;
  padding: 18px 0 !important;
  vertical-align: top !important;
}

table.woocommerce-checkout-review-order-table tfoot tr {
  border-bottom: 1px solid var(--line-black) !important;
}

table.woocommerce-checkout-review-order-table tfoot th,
table.woocommerce-checkout-review-order-table tfoot td {
  border: none !important;
  border-bottom: none !important;
  border-top: none !important;
  padding: 14px 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
}

table.woocommerce-checkout-review-order-table td.product-total,
table.woocommerce-checkout-review-order-table tfoot td {
  text-align: right !important;
  font-family: var(--font-mono) !important;
  font-weight: 700 !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-bottom: 1px solid var(--line-black) !important;
  border-top: 1px solid var(--line-black) !important;
}

table.woocommerce-checkout-review-order-table tfoot tr.order-total th,
table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  padding: 18px 0 !important;
  color: var(--ink-black) !important;
}

table.woocommerce-checkout-review-order-table tr.swiss-checkout-coupon-row {
  border-bottom: 1px solid var(--line-black) !important;
}

table.woocommerce-checkout-review-order-table tr.swiss-checkout-coupon-row td {
  padding: 14px 0 !important;
}

/* Shipping Method Selection Row */
#shipping_method label,
.woocommerce-shipping-methods label {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
}

/* Payment Accordions */
#payment {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 16px !important;
  margin-bottom: 20px !important;
}

#payment ul.payment_methods {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  list-style: none !important;
  margin: 0 !important;
}

#payment ul.payment_methods li {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

#payment ul.payment_methods li:last-child {
  border-bottom: none !important;
}

#payment ul.payment_methods li input[type="radio"] {
  accent-color: var(--ink-black);
  margin-right: 8px;
}

#payment div.payment_box {
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 4px !important;
  color: var(--ink-dark) !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  line-height: 1.5 !important;
  padding: 12px 16px !important;
  margin: 8px 0 12px 0 !important;
  box-shadow: none !important;
}

#payment div.payment_box::before {
  display: none !important;
}

/* ==========================================================================
   TRANSFERENCIA BANCARIA (BACS) — PAYMENT BOX OVERRIDE (SWISS DESIGN)
   ========================================================================== */
#payment div.payment_box.payment_method_bacs,
#payment .payment_method_bacs .payment_box,
.payment_box.payment_method_bacs,
.payment_method_bacs div.payment_box {
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  margin: 6px 0 10px 0 !important;
  box-shadow: none !important;
}

.bacs-payment-box-title,
.mp-checkout-ticket-text,
.mp-checkout-pro-benefits-title,
.payment_box.payment_method_bacs h4,
#mp-checkout-ticket-root.mp-checkout-ticket-container .mp-checkout-ticket-content .mp-checkout-ticket-text,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-checkout-ticket-text,
.payment_box.payment_method_woo-mercado-pago-ticket p.mp-checkout-ticket-text,
.payment_box.payment_method_woo-mercado-pago-ticket [data-cy="checkout-ticket-text"],
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefits-title,
#payment .payment_method_bacs .bacs-payment-box-title,
#payment div.payment_box.payment_method_bacs h4,
#payment .payment_method_woo-mercado-pago-ticket .mp-checkout-ticket-text,
#payment .payment_method_woo-mercado-pago-ticket p.mp-checkout-ticket-text,
#payment .payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefits-title,
[data-cy="checkout-ticket-text"] {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  padding-bottom: 10px !important;
  line-height: 1.25 !important;
}

.payment_box.payment_method_bacs p,
.payment_box.payment_method_bacs {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  color: var(--ink-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}

/* ==========================================================================
   MERCADO PAGO TICKET / EFECTIVO — FULL OVERRIDE (SWISS DESIGN)
   ========================================================================== */
#payment div.payment_box.payment_method_woo-mercado-pago-ticket,
#payment .payment_method_woo-mercado-pago-ticket .payment_box,
.payment_box.payment_method_woo-mercado-pago-ticket,
.payment_method_woo-mercado-pago-ticket div.payment_box {
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  margin: 6px 0 10px 0 !important;
  box-shadow: none !important;
}

/* 1. Eliminate inner card, white backgrounds, inner borders, and shadows completely */
#payment .payment_method_woo-mercado-pago-ticket *,
.payment_box.payment_method_woo-mercado-pago-ticket *,
.mp-checkout-container,
.mp-checkout-container *,
.mp-checkout-ticket-container,
.mp-checkout-ticket-container *,
.mp-input-table-container,
.mp-input-table-container * {
  box-sizing: border-box !important;
}

#payment .payment_method_woo-mercado-pago-ticket div,
#payment .payment_method_woo-mercado-pago-ticket p,
#payment .payment_method_woo-mercado-pago-ticket ul,
#payment .payment_method_woo-mercado-pago-ticket li,
#payment .payment_method_woo-mercado-pago-ticket span:not(.material-symbols-outlined),
#payment .payment_method_woo-mercado-pago-ticket input-table,
#payment .payment_method_woo-mercado-pago-ticket terms-and-conditions,
#payment .payment_method_woo-mercado-pago-ticket test-mode,
.payment_box.payment_method_woo-mercado-pago-ticket div,
.payment_box.payment_method_woo-mercado-pago-ticket p,
.payment_box.payment_method_woo-mercado-pago-ticket ul,
.payment_box.payment_method_woo-mercado-pago-ticket li,
.payment_box.payment_method_woo-mercado-pago-ticket span:not(.material-symbols-outlined),
.payment_box.payment_method_woo-mercado-pago-ticket input-table,
.payment_box.payment_method_woo-mercado-pago-ticket terms-and-conditions,
.payment_box.payment_method_woo-mercado-pago-ticket test-mode,
.mp-checkout-container,
.mp-checkout-ticket-container,
.mp-checkout-ticket-content,
.mp-input-table-container,
.mp-input-table-list,
.mp-input-table-item,
.mp-input-table-label,
.mp-input-table-option,
.mp-checkout-ticket-terms-and-conditions,
.mp-terms-and-conditions-container {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 2. Items (Pago Fácil & Rapipago) — Clean list, NO separation lines, compact spacing */
.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-container,
.mp-input-table-container {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-list,
.mp-input-table-list {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-item,
.mp-input-table-item {
  padding: 1px 0 !important;
  margin: 0 !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-item::before,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-item::after,
.mp-input-table-item::before,
.mp-input-table-item::after {
  display: none !important;
  border: none !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-label,
.mp-input-table-label {
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-option,
.mp-input-table-option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

#payment div.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-row-text,
#payment div.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-row-text-image,
#payment .payment_method_woo-mercado-pago-ticket .mp-input-table-row-text,
#payment .payment_method_woo-mercado-pago-ticket .mp-input-table-row-text-image,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-row-text,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-input-table-row-text-image,
.mp-input-table-row-text,
.mp-input-table-row-text-image {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 15px !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  letter-spacing: 0.02em !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket img,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-payment-method-logo-image,
.mp-payment-method-logo-image {
  height: 14px !important;
  max-height: 14px !important;
  width: auto !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 2px !important;
  background: #FFFFFF !important;
  padding: 1px 3px !important;
  filter: grayscale(100%) opacity(0.9) !important;
  margin-right: 2px !important;
}

/* 3. Terms and conditions in Space Mono 10px with tight spacing */
#mp-checkout-ticket-root.mp-checkout-ticket-container .mp-checkout-ticket-terms-and-conditions,
#payment div.payment_box.payment_method_woo-mercado-pago-ticket .mp-checkout-ticket-terms-and-conditions,
#payment .payment_method_woo-mercado-pago-ticket .mp-checkout-ticket-terms-and-conditions,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-checkout-ticket-terms-and-conditions,
.mp-checkout-ticket-terms-and-conditions {
  padding-top: 10px !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-terms-and-conditions-container,
.payment_box.payment_method_woo-mercado-pago-ticket .mp-terms-and-conditions-text,
.mp-terms-and-conditions-container,
.mp-terms-and-conditions-text {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: left !important;
  letter-spacing: 0.02em !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.payment_box.payment_method_woo-mercado-pago-ticket .mp-terms-and-conditions-link,
.mp-terms-and-conditions-link {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-decoration: underline !important;
  margin-left: 4px !important;
  display: inline !important;
}

/* ==========================================================================
   MERCADO PAGO BÁSICO / PRO / REDIRECT — FULL OVERRIDE (SWISS DESIGN)
   ========================================================================== */
#payment div.payment_box.payment_method_woo-mercado-pago-basic,
#payment .payment_method_woo-mercado-pago-basic .payment_box,
.payment_box.payment_method_woo-mercado-pago-basic,
.payment_method_woo-mercado-pago-basic div.payment_box {
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 4px !important;
  padding: 10px 14px !important;
  margin: 6px 0 10px 0 !important;
  box-shadow: none !important;
}

/* 1. Eliminate inner card, white background, inner borders & padding */
#payment .payment_method_woo-mercado-pago-basic *,
.payment_box.payment_method_woo-mercado-pago-basic *,
.mp-checkout-pro-container,
.mp-checkout-pro-container * {
  box-sizing: border-box !important;
}

#payment div.payment_box.payment_method_woo-mercado-pago-basic div,
#payment div.payment_box.payment_method_woo-mercado-pago-basic p,
#payment div.payment_box.payment_method_woo-mercado-pago-basic span:not(.material-symbols-outlined),
#payment .payment_method_woo-mercado-pago-basic div,
#payment .payment_method_woo-mercado-pago-basic p,
#payment .payment_method_woo-mercado-pago-basic span:not(.material-symbols-outlined),
.payment_box.payment_method_woo-mercado-pago-basic div,
.payment_box.payment_method_woo-mercado-pago-basic p,
.payment_box.payment_method_woo-mercado-pago-basic span:not(.material-symbols-outlined),
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-container,
.payment_box.payment_method_woo-mercado-pago-basic #mp-checkout-pro-root,
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-content,
.mp-checkout-container,
.mp-checkout-pro-container,
#mp-checkout-pro-root,
.mp-checkout-pro-content {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 3. Bullets: Space Mono 10px with uniform weight & color */
#mp-checkout-pro-root.mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-benefits,
#payment div.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefits,
#payment .payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefits,
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefits,
.mp-checkout-pro-benefits {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  margin: 0 0 4px 0 !important;
  padding: 10px 0 !important;
  align-items: flex-start !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit,
.mp-checkout-pro-benefit {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-icon,
.mp-checkout-pro-benefit-icon {
  height: 14px !important;
  max-height: 14px !important;
  width: auto !important;
  flex-shrink: 0 !important;
  filter: grayscale(100%) opacity(0.85) !important;
  margin-top: 1px !important;
}

#mp-checkout-pro-root.mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-benefits .mp-checkout-pro-benefit .mp-checkout-pro-benefit-description,
#mp-checkout-pro-root.mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-benefits .mp-checkout-pro-benefit .mp-checkout-pro-benefit-description *,
#mp-checkout-pro-root.mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-benefits .mp-checkout-pro-benefit .mp-checkout-pro-benefit-description b,
#payment div.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description,
#payment div.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description *,
#payment .payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description,
#payment .payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description *,
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description,
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-benefit-description *,
.mp-checkout-pro-benefit-description,
.mp-checkout-pro-benefit-description *,
.mp-checkout-pro-benefit-description b,
.mp-checkout-pro-benefit-description strong,
.mp-checkout-pro-benefit-description span {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 15px !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 4. Payment method badges */
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-payment-methods,
#payment .payment_method_woo-mercado-pago-basic .mp-checkout-pro-payment-methods,
.mp-checkout-pro-payment-methods {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 4px 0 0 0 !important;
  padding: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  flex-wrap: wrap !important;
  border: none !important;
  background: transparent !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-payment-method-icon,
.mp-checkout-pro-payment-method-icon {
  height: 14px !important;
  max-height: 14px !important;
  width: auto !important;
  border: 1px solid var(--line-hairline) !important;
  border-radius: 2px !important;
  background: #FFFFFF !important;
  padding: 1px 3px !important;
  filter: grayscale(100%) opacity(0.9) !important;
}

/* 5. Redirect Box: Perfectly Centered Title & Description with tight balanced padding */
.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-redirect,
.mp-checkout-pro-redirect {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 2px 0 0 0 !important;
  margin: 2px auto 0 auto !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-redirect-title,
.mp-checkout-pro-redirect-title {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-redirect-icon,
.mp-checkout-pro-redirect-icon {
  height: 14px !important;
  max-height: 14px !important;
  width: auto !important;
  filter: grayscale(100%) opacity(0.85) !important;
  margin: 0 !important;
}

.payment_box.payment_method_woo-mercado-pago-basic .mp-checkout-pro-redirect-description,
.mp-checkout-pro-redirect-description {
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  font-weight: 400 !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  width: 100% !important;
}

/* Payment Gateways & Mercado Pago Icons (Sleek Swiss Monochrome) */
#payment ul.payment_methods li label img,
#payment ul.payment_methods img,
.woocommerce-checkout #payment img {
  filter: grayscale(100%) contrast(115%) opacity(0.85) !important;
  height: 18px !important;
  max-height: 18px !important;
  width: auto !important;
  margin: 0 4px !important;
  vertical-align: middle !important;
  border-radius: 2px !important;
  transition: filter 0.2s, opacity 0.2s !important;
}

.gateway-bacs-icon,
.gateway-efectivo-icon,
.gateway-custom-icon {
  font-size: 18px !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
  color: var(--ink-black) !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.gateway-mp-icon {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  margin-left: 6px !important;
  color: var(--ink-black) !important;
  line-height: 1 !important;
}

.gateway-mp-icon img,
.gateway-mp-icon .gateway-mp-logo {
  height: 16px !important;
  max-height: 16px !important;
  width: auto !important;
  display: inline-block !important;
  vertical-align: middle !important;
  object-fit: contain !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.gateway-mp-icon svg {
  width: 17px !important;
  height: 17px !important;
  fill: currentColor !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

#payment ul.payment_methods li:hover label img,
#payment ul.payment_methods li:hover img {
  filter: grayscale(0%) opacity(1) !important;
}

#place_order {
  width: 100% !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--ink-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 18px 24px !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: none !important;
  transform: none !important;
  margin-top: 16px !important;
}

#place_order:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  color: #FFFFFF !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Production Notice and Payment Texts (Uppercase Clean Monospace Font) */
.loft44-checkout-production-notice {
  font-family: var(--font-mono) !important;
  font-size: 9.5px !important;
  line-height: 1.45 !important;
  color: var(--ink-muted) !important;
  background-color: var(--bg-subtle) !important;
  border: 1px dashed var(--line-hairline) !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin: 14px 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.loft44-checkout-production-notice strong {
  color: var(--ink-black) !important;
  font-weight: 700 !important;
}

/* Privacy Policy and Terms and Conditions Spacing */
#payment .place-order,
.woocommerce-checkout #payment .place-order,
.woocommerce-terms-and-conditions-wrapper,
.swiss-terms-wrapper {
  margin-top: 18px !important;
  margin-bottom: 20px !important;
  padding-top: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

.woocommerce-privacy-policy-text {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-privacy-policy-text p,
.woocommerce-privacy-policy-text,
#payment .woocommerce-privacy-policy-text,
#payment .woocommerce-privacy-policy-text p,
#payment p.privacy-policy,
.woocommerce-checkout #payment .place-order p,
#payment .payment_box p,
#payment .woocommerce-info {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 15px !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin: 0 !important;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-link,
.loft44-terms-link,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
  color: var(--ink-black) !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

.added_to_cart,
a.added_to_cart {
  display: none !important;
}

.woocommerce-terms-and-conditions,
.woocommerce-privacy-policy-content {
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 16px 18px !important;
  margin: 14px 0 16px 0 !important;
  max-height: 220px !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

.woocommerce-terms-and-conditions h1,
.woocommerce-terms-and-conditions h2,
.woocommerce-terms-and-conditions h3,
.woocommerce-terms-and-conditions h4,
.woocommerce-privacy-policy-content h1,
.woocommerce-privacy-policy-content h2,
.woocommerce-privacy-policy-content h3,
.woocommerce-privacy-policy-content h4 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
  margin-top: 14px !important;
  margin-bottom: 8px !important;
  font-size: 13px !important;
}

.woocommerce-terms-and-conditions h1:first-child,
.woocommerce-terms-and-conditions h2:first-child,
.woocommerce-terms-and-conditions h3:first-child,
.woocommerce-privacy-policy-content h1:first-child,
.woocommerce-privacy-policy-content h2:first-child,
.woocommerce-privacy-policy-content h3:first-child {
  margin-top: 0 !important;
}

.woocommerce-terms-and-conditions p,
.woocommerce-privacy-policy-content p {
  font-family: var(--font-body) !important;
  font-size: 11.5px !important;
  line-height: 1.6 !important;
  color: var(--ink-dark) !important;
  margin-bottom: 12px !important;
}

.woocommerce-terms-and-conditions ul,
.woocommerce-terms-and-conditions ol,
.woocommerce-privacy-policy-content ul,
.woocommerce-privacy-policy-content ol {
  padding-left: 20px !important;
  margin-bottom: 12px !important;
}

.woocommerce-terms-and-conditions li,
.woocommerce-privacy-policy-content li {
  font-family: var(--font-body) !important;
  font-size: 11.5px !important;
  line-height: 1.55 !important;
  color: var(--ink-dark) !important;
  margin-bottom: 6px !important;
}

.swiss-terms-checkbox-row {
  margin-top: 16px !important;
  padding-top: 0 !important;
  border: none !important;
}

.woocommerce-terms-and-conditions-wrapper .form-row,
.woocommerce-terms-and-conditions-wrapper p.form-row,
.swiss-terms-checkbox-row p.form-row {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  cursor: pointer !important;
}

.woocommerce-terms-and-conditions-checkbox-text {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
  accent-color: var(--ink-black) !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 1px 0 0 0 !important;
  cursor: pointer !important;
}

/* --------------------------------------------------------------------------
   E. WOOCOMMERCE ORDER RECEIVED / THANK YOU (Boarding Pass Aesthetic)
   -------------------------------------------------------------------------- */
.woocommerce-order-received .swiss-doc-body,
.swiss-body-order-received {
  padding-top: 32px !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

.swiss-thankyou-wrap,
.woocommerce-order {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
}

/* Success Banner */
.swiss-thankyou-success-banner,
.woocommerce-order-received .woocommerce-thankyou-order-received,
p.woocommerce-notice--success.woocommerce-thankyou-order-received {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 20px 24px !important;
  margin-bottom: 24px !important;
  box-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ink-black) !important;
  line-height: 1.25 !important;
}

.swiss-thankyou-banner-inner {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.swiss-status-indicator {
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  border-radius: 50% !important;
  background-color: #10B981 !important;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.2) !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
}

.swiss-thankyou-banner-title {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* Order Overview Boarding Pass Grid (Symmetrical 2-Row 6-Span Layout) */
.swiss-overview-card {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 0 !important;
  margin: 0 0 24px 0 !important;
  list-style: none !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.swiss-overview-grid,
.woocommerce-order-received ul.woocommerce-order-overview {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border: none !important;
  background-color: #FFFFFF !important;
}

/* Eliminate clearfix pseudo-elements from taking up grid cells */
.swiss-overview-grid::before,
.swiss-overview-grid::after,
.woocommerce-order-received ul.woocommerce-order-overview::before,
.woocommerce-order-received ul.woocommerce-order-overview::after,
ul.wc-bacs-bank-details::before,
ul.wc-bacs-bank-details::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.swiss-overview-item,
.woocommerce-order-received ul.woocommerce-order-overview li {
  padding: 18px 20px !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  background-color: #FFFFFF !important;
}

/* Row 1: Order # (span 2), Date (span 2), Total (span 2) */
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__order,
.woocommerce-order-received ul.woocommerce-order-overview li.order,
.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(1) {
  grid-column: span 2 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__date,
.woocommerce-order-received ul.woocommerce-order-overview li.date,
.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(2) {
  grid-column: span 2 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__total,
.woocommerce-order-received ul.woocommerce-order-overview li.total,
.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(3) {
  grid-column: span 2 !important;
  border-right: none !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

/* Row 2: Payment method (span 3), Email (span 3) */
.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__payment-method,
.woocommerce-order-received ul.woocommerce-order-overview li.method,
.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(4) {
  grid-column: span 3 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: none !important;
}

.woocommerce-order-received ul.woocommerce-order-overview li.woocommerce-order-overview__email,
.woocommerce-order-received ul.woocommerce-order-overview li.email,
.woocommerce-order-received ul.woocommerce-order-overview li:nth-child(5) {
  grid-column: span 3 !important;
  border-right: none !important;
  border-bottom: none !important;
}

.swiss-overview-label,
.woocommerce-order-received ul.woocommerce-order-overview li {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-muted) !important;
  margin: 0 !important;
  line-height: 1 !important;
}

.swiss-overview-value,
.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block !important;
  font-family: var(--font-mono) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

/* BACS Instructions & Bank Details Unified Card */
.swiss-thankyou-bacs-card,
.swiss-thankyou-bacs-wrap {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 24px 24px !important;
  margin-bottom: 24px !important;
  box-shadow: none !important;
}

.swiss-thankyou-bacs-card p,
.swiss-thankyou-bacs-wrap p,
.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice):not(.woocommerce-thankyou-order-received),
.woocommerce-bacs-bank-details > p {
  font-family: var(--font-mono) !important;
  font-size: 11.5px !important;
  line-height: 1.7 !important;
  color: var(--ink-dark) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 12px 0 !important;
  box-shadow: none !important;
}

.swiss-thankyou-bacs-card p:last-of-type,
.swiss-thankyou-bacs-wrap p:last-of-type {
  margin-bottom: 20px !important;
}

.woocommerce-bacs-bank-details {
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}

h2.wc-bacs-bank-details-heading,
h3.wc-bacs-bank-details-account-name {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 16px 0 !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 1px solid var(--line-black) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

ul.wc-bacs-bank-details {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  background-color: #FFFFFF !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* 5 Bank Items Symmetrical 2-Row Layout:
   Row 1: Titular (span 3), Banco (span 3)
   Row 2: CBU (span 2), Alias (span 2), Tipo de cuenta (span 2) */
ul.wc-bacs-bank-details li:nth-child(1),
ul.wc-bacs-bank-details li.account_name,
ul.wc-bacs-bank-details li.wc-bacs-bank-details-account-name {
  grid-column: span 3 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

ul.wc-bacs-bank-details li:nth-child(2),
ul.wc-bacs-bank-details li.bank_name {
  grid-column: span 3 !important;
  border-right: none !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

ul.wc-bacs-bank-details li:nth-child(3),
ul.wc-bacs-bank-details li.account_number {
  grid-column: span 2 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: none !important;
}

ul.wc-bacs-bank-details li:nth-child(4),
ul.wc-bacs-bank-details li.sort_code {
  grid-column: span 2 !important;
  border-right: 1px solid var(--line-hairline) !important;
  border-bottom: none !important;
}

ul.wc-bacs-bank-details li:nth-child(5),
ul.wc-bacs-bank-details li.iban,
ul.wc-bacs-bank-details li.account_type {
  grid-column: span 2 !important;
  border-right: none !important;
  border-bottom: none !important;
}

ul.wc-bacs-bank-details li {
  padding: 16px 20px !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 5px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  background-color: #FFFFFF !important;
}

ul.wc-bacs-bank-details li strong {
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  word-break: break-all !important;
  display: block !important;
}

/* Order Details Card & Table */
.woocommerce-order-details {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 24px 24px !important;
  margin-bottom: 24px !important;
  box-shadow: none !important;
}

.woocommerce-order-details__title {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--line-black) !important;
}

table.woocommerce-table--order-details,
table.shop_table.order_details {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  border: none !important;
}

table.woocommerce-table--order-details thead th,
table.shop_table.order_details thead th {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 12px !important;
  border-bottom: 1px solid var(--line-black) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  background: transparent !important;
}

table.woocommerce-table--order-details thead th:last-child,
table.shop_table.order_details thead th:last-child,
table.woocommerce-table--order-details thead th.woocommerce-table__header-order-total,
table.shop_table.order_details thead th.woocommerce-table__header-order-total,
table.woocommerce-table--order-details thead th.product-total,
table.shop_table.order_details thead th.product-total {
  text-align: right !important;
}

table.woocommerce-table--order-details tbody tr,
table.shop_table.order_details tbody tr {
  border-bottom: 1px solid var(--line-hairline) !important;
}

table.woocommerce-table--order-details tbody td,
table.shop_table.order_details tbody td {
  padding: 18px 12px !important;
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  color: var(--ink-black) !important;
  border: none !important;
  vertical-align: top !important;
}

table.woocommerce-table--order-details td.woocommerce-table__product-name a {
  color: var(--ink-black) !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 0.02em !important;
}

table.woocommerce-table--order-details td.woocommerce-table__product-name a:hover {
  color: var(--accent-red) !important;
}

table.woocommerce-table--order-details ul.wc-item-meta,
table.shop_table.order_details ul.wc-item-meta {
  list-style: none !important;
  padding: 0 !important;
  margin: 8px 0 0 0 !important;
  font-size: 11px !important;
  color: var(--ink-muted) !important;
  line-height: 1.6 !important;
}

table.woocommerce-table--order-details ul.wc-item-meta li {
  margin: 3px 0 !important;
}

table.woocommerce-table--order-details ul.wc-item-meta li strong {
  color: var(--ink-black) !important;
  font-weight: 700 !important;
}

table.woocommerce-table--order-details td.woocommerce-table__product-total,
table.shop_table.order_details td.product-total {
  text-align: right !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.02em !important;
}

table.woocommerce-table--order-details tfoot tr,
table.shop_table.order_details tfoot tr {
  border-bottom: 1px solid var(--line-hairline) !important;
}

table.woocommerce-table--order-details tfoot th,
table.woocommerce-table--order-details tfoot td,
table.shop_table.order_details tfoot th,
table.shop_table.order_details tfoot td {
  padding: 14px 12px !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  color: var(--ink-black) !important;
  border: none !important;
}

table.woocommerce-table--order-details tfoot th,
table.shop_table.order_details tfoot th {
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

table.woocommerce-table--order-details tfoot td,
table.shop_table.order_details tfoot td {
  text-align: right !important;
  font-weight: 700 !important;
}

table.woocommerce-table--order-details tfoot tr:last-child th,
table.woocommerce-table--order-details tfoot tr:last-child td,
table.shop_table.order_details tfoot tr:last-child th,
table.shop_table.order_details tfoot tr:last-child td {
  font-size: 15px !important;
  font-weight: 800 !important;
  border-bottom: none !important;
  padding-top: 18px !important;
  padding-bottom: 6px !important;
}

/* Customer Addresses Cards (Side-by-Side Symmetrical Grid) */
.woocommerce-customer-details,
section.woocommerce-customer-details {
  display: block !important;
  width: 100% !important;
  margin-bottom: 32px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  clear: both !important;
}

.woocommerce-customer-details .woocommerce-columns--addresses,
.woocommerce-customer-details .woocommerce-columns,
.woocommerce-customer-details .col2-set,
section.woocommerce-columns--addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: both !important;
}

.woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-customer-details .woocommerce-columns--addresses::after,
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after {
  display: none !important;
  content: none !important;
}

.woocommerce-customer-details .woocommerce-column,
.woocommerce-customer-details .col-1,
.woocommerce-customer-details .col-2,
.woocommerce-column--billing-address,
.woocommerce-column--shipping-address,
.woocommerce-customer-details .woocommerce-column--1,
.woocommerce-customer-details .woocommerce-column--2 {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 24px 24px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-shadow: none !important;
}

.woocommerce-column__title {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 16px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--line-black) !important;
}

.woocommerce-customer-details address {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
  color: var(--ink-dark) !important;
  font-style: normal !important;
  margin: 0 !important;
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
  margin-top: 8px !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--ink-dark) !important;
}

/* --------------------------------------------------------------------------
   F. WOOCOMMERCE MY ACCOUNT (/my-account/)
   -------------------------------------------------------------------------- */
.woocommerce-account .swiss-doc-body,
.swiss-body-my-account {
  padding: 40px 32px 64px 32px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Logged In Dashboard Layout (2-Column Navigation + Content with 16px Rounded Card) */
.logged-in.woocommerce-account .woocommerce,
.woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce {
  display: grid !important;
  grid-template-columns: 280px 1fr !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
}

/* Logged Out / Customer Login Layout */
.woocommerce-account:not(.logged-in) .woocommerce,
.woocommerce-account:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce {
  display: block !important;
  border: none !important;
  background: transparent !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Eliminate clearfix pseudo-elements from creating ghost grid items */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after,
#customer_login::before,
#customer_login::after,
.woocommerce-Addresses::before,
.woocommerce-Addresses::after,
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after,
.woocommerce-account .u-columns::before,
.woocommerce-account .u-columns::after,
.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after,
.woocommerce-account .addresses::before,
.woocommerce-account .addresses::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.woocommerce-MyAccount-navigation {
  border-right: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle) !important;
  width: 100% !important;
  grid-column: 1 !important;
  box-sizing: border-box !important;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid var(--line-hairline) !important;
  margin: 0 !important;
}

.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--downloads {
  display: none !important;
}

.woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 16px 20px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

.woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-MyAccount-navigation li a:hover {
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
}

.woocommerce-MyAccount-content {
  width: 100% !important;
  padding: 36px 40px !important;
  grid-column: 2 !important;
  box-sizing: border-box !important;
}

.woocommerce-MyAccount-content p {
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: var(--ink-dark) !important;
  margin-bottom: 18px !important;
}

.woocommerce-MyAccount-content a {
  color: var(--accent-red) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.woocommerce-MyAccount-content mark {
  background-color: transparent !important;
  color: var(--ink-black) !important;
  font-weight: 700 !important;
  padding: 0 !important;
}

/* My Account Orders & Downloads Tables */
table.my_account_orders,
table.woocommerce-orders-table,
table.woocommerce-MyAccount-orders,
table.woocommerce-table--order-downloads {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  border: 1px solid var(--line-black) !important;
  background-color: #FFFFFF !important;
}

table.my_account_orders th,
table.woocommerce-orders-table th,
table.woocommerce-MyAccount-orders th,
table.woocommerce-table--order-downloads th {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  padding: 14px 16px !important;
  border-bottom: 1px solid var(--line-black) !important;
  background-color: var(--bg-subtle) !important;
  border-right: 1px solid var(--line-hairline) !important;
}

table.my_account_orders th:last-child,
table.woocommerce-orders-table th:last-child,
table.woocommerce-MyAccount-orders th:last-child {
  border-right: none !important;
  text-align: right !important;
}

table.my_account_orders td,
table.woocommerce-orders-table td,
table.woocommerce-MyAccount-orders td,
table.woocommerce-table--order-downloads td {
  padding: 16px !important;
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  color: var(--ink-black) !important;
  border-bottom: 1px solid var(--line-hairline) !important;
  border-right: 1px solid var(--line-hairline) !important;
}

table.my_account_orders td:last-child,
table.woocommerce-orders-table td:last-child,
table.woocommerce-MyAccount-orders td:last-child {
  border-right: none !important;
  text-align: right !important;
}

table.my_account_orders tr:last-child td,
table.woocommerce-orders-table tr:last-child td {
  border-bottom: none !important;
}

.woocommerce-MyAccount-content a.woocommerce-button,
.woocommerce-MyAccount-content a.button {
  display: inline-block !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}

.woocommerce-MyAccount-content a.woocommerce-button:hover,
.woocommerce-MyAccount-content a.button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  color: #FFFFFF !important;
}

/* Login & Register Boxes */
#customer_login {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background-color: #FFFFFF !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04) !important;
}

#customer_login .u-column1,
#customer_login .u-column2 {
  padding: 36px 36px !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

#customer_login .u-column1 {
  border-right: 1px solid var(--line-black) !important;
  background-color: #FFFFFF !important;
}

#customer_login .u-column2 {
  background-color: #FFFFFF !important;
}

#customer_login form.login,
#customer_login form.register,
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  max-width: 100% !important;
}

#customer_login h2 {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 0 0 24px 0 !important;
  padding: 0 0 10px 0 !important;
  border-bottom: 1px solid var(--line-black) !important;
}

/* My Account Form Fields & Inputs */
.woocommerce-address-fields h2,
.woocommerce-address-fields h3,
.woocommerce-billing-fields h2,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h2,
.woocommerce-shipping-fields h3,
.woocommerce-account h2,
.woocommerce-account h3,
.woocommerce-EditAccountForm h3 {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ink-black) !important;
  margin: 0 0 24px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--line-black) !important;
}

.woocommerce-account form .form-row,
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row,
.woocommerce-address-fields .form-row,
.woocommerce-billing-fields .form-row,
.woocommerce-shipping-fields .form-row,
.woocommerce-EditAccountForm .form-row,
.woocommerce-account .form-row {
  margin-bottom: 22px !important;
  padding: 0 !important;
  float: none !important;
  width: 100% !important;
  clear: both !important;
  position: relative !important;
}

#billing_address_1_field,
#shipping_address_1_field {
  margin-bottom: 10px !important;
}

#billing_address_2_field,
#shipping_address_2_field {
  margin-bottom: 22px !important;
}

.woocommerce-account form .form-row label,
.woocommerce-form-login .form-row label,
.woocommerce-form-register .form-row label,
.woocommerce-address-fields .form-row label,
.woocommerce-EditAccountForm .form-row label,
.woocommerce-account .form-row label {
  display: block !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-muted) !important;
  margin-bottom: 8px !important;
  line-height: 1.2 !important;
}

.woocommerce-account .required,
.woocommerce-account abbr.required {
  color: var(--accent-red) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  border: none !important;
  margin-left: 4px !important;
}

.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row input[type="text"],
.woocommerce-account form .form-row input[type="email"],
.woocommerce-account form .form-row input[type="tel"],
.woocommerce-account form .form-row input[type="password"],
.woocommerce-account form .form-row select,
.woocommerce-account form .form-row textarea,
.woocommerce-form-login input.input-text,
.woocommerce-form-register input.input-text,
.woocommerce-address-fields input.input-text,
.woocommerce-address-fields select,
.woocommerce-account input.input-text,
.woocommerce-account select,
.woocommerce-account textarea,
.woocommerce-account .select2-container--default .select2-selection--single {
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 10px 14px !important;
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  -webkit-border-radius: 0px !important;
  -moz-border-radius: 0px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  color: var(--ink-black) !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color 0.2s, background-color 0.2s !important;
}

.woocommerce-account form .form-row select,
.woocommerce-address-fields select,
.woocommerce-account select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A0A09' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 14px !important;
  padding-right: 36px !important;
  cursor: pointer !important;
}

.woocommerce-account form .form-row input:focus,
.woocommerce-account form .form-row select:focus,
.woocommerce-account form .form-row textarea:focus,
.woocommerce-form-login input.input-text:focus,
.woocommerce-form-register input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.woocommerce-address-fields select:focus {
  border-color: var(--accent-red) !important;
  background-color: #FFFFFF !important;
}

#billing_country_field strong,
#shipping_country_field strong {
  display: flex !important;
  align-items: center !important;
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  background-color: var(--bg-subtle) !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  -webkit-border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--ink-black) !important;
  box-sizing: border-box !important;
}

.woocommerce-account form .form-row .show-password-input,
.woocommerce-form-login .show-password-input,
.woocommerce-form-register .show-password-input {
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.woocommerce-account .woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin: 12px 0 16px 0 !important;
}

.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"] {
  accent-color: var(--ink-black) !important;
  width: 14px !important;
  height: 14px !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-LostPassword a {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  color: var(--ink-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.woocommerce-account .woocommerce-LostPassword a:hover {
  color: var(--accent-red) !important;
}

/* Edit Account Page Details */
.woocommerce-EditAccountForm fieldset {
  border: 1px solid var(--line-hairline) !important;
  border-radius: 0 !important;
  padding: 20px 24px !important;
  margin: 24px 0 !important;
  background-color: var(--bg-subtle) !important;
}

.woocommerce-EditAccountForm fieldset legend {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  padding: 0 8px !important;
  background: transparent !important;
}

.woocommerce-EditAccountForm p em {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  color: var(--ink-muted) !important;
  display: block !important;
  margin-top: 4px !important;
}

/* Addresses Page */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .u-columns.woocommerce-Addresses,
.woocommerce-account .addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-top: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-Address,
.woocommerce-account .u-column1.woocommerce-Address,
.woocommerce-account .u-column2.woocommerce-Address {
  border: 1px solid var(--line-black) !important;
  padding: 24px 24px !important;
  background-color: #FFFFFF !important;
  width: 100% !important;
  float: none !important;
  box-sizing: border-box !important;
}

.woocommerce-account .u-column1.woocommerce-Address {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.woocommerce-account .u-column2.woocommerce-Address {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.woocommerce-account .woocommerce-Address .title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin-bottom: 16px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--line-hairline) !important;
}

.woocommerce-account .woocommerce-Address h3 {
  font-family: 'Share Tech Mono', monospace !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
}

.woocommerce-account .woocommerce-Address .edit {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--accent-red) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.woocommerce-account .woocommerce-Address address {
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  line-height: 1.7 !important;
  font-style: normal !important;
  color: var(--ink-dark) !important;
  margin: 0 !important;
}

/* Notices in My Account */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 16px 20px !important;
  margin-bottom: 24px !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: var(--ink-black) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 16px !important;
  box-shadow: none !important;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
  display: none !important;
  content: none !important;
}

.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-error .button {
  order: 2 !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 8px 16px !important;
  float: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-right: 0 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

/* Universal Button Styling in Account Forms */
.woocommerce-account form .button,
.woocommerce form.login .button,
.woocommerce form.register .button,
.woocommerce-EditAccountForm .button,
.woocommerce-account input.button,
.woocommerce-account button.button,
.woocommerce-account .button {
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
  box-shadow: none !important;
}

.woocommerce-account form .button:hover,
.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover,
.woocommerce-EditAccountForm .button:hover,
.woocommerce-account input.button:hover,
.woocommerce-account button.button:hover,
.woocommerce-account .button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
  color: #FFFFFF !important;
}

/* --------------------------------------------------------------------------
   G. ORDER TRACKING FORM & RESULTS (/order-tracking/)
   -------------------------------------------------------------------------- */
.swiss-tracking-doc-header,
.page-template-page-order-tracking .swiss-doc-header,
.page-template-page-order-tracking-php .swiss-doc-header {
  border-bottom: none !important;
}

.swiss-body-order-tracking {
  max-width: 800px;
  margin: 0 auto;
  width: 100%;
}

.woocommerce-form-track-order {
  max-width: 680px;
  margin: 0 auto;
  border: 1px solid var(--line-black);
  background-color: var(--bg-pure);
  padding: 40px 36px;
  border-radius: 16px;
  box-shadow: 0 4px 24px rgba(10, 10, 9, 0.04);
}

.woocommerce-form-track-order p:first-child {
  font-family: var(--font-body);
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-muted);
  margin-bottom: 24px;
}

.woocommerce-form-track-order .form-row {
  margin-bottom: 18px;
}

.woocommerce-form-track-order label {
  font-family: var(--font-mono);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--ink-black);
  text-transform: uppercase;
  margin-bottom: 6px;
  display: block;
}

.woocommerce-form-track-order input.input-text {
  width: 100%;
  background-color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  padding: 12px 14px !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  color: var(--ink-black) !important;
}

.woocommerce-form-track-order .button {
  width: 100%;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 20px !important;
  cursor: pointer;
  margin-top: 10px;
  transition: all 0.2s ease !important;
}

.woocommerce-form-track-order .button:hover {
  background-color: var(--accent-red) !important;
  border-color: var(--accent-red) !important;
}

/* Tracking Result Dossier Cards */
.swiss-body-order-tracking .order-info,
.swiss-body-order-tracking .woocommerce-info {
  background-color: var(--bg-subtle);
  border: 1px solid var(--line-black);
  border-radius: 12px;
  padding: 20px 24px;
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-black);
  margin-bottom: 30px;
}

.swiss-body-order-tracking .order-info mark.order-number,
.swiss-body-order-tracking .order-info mark.order-date,
.swiss-body-order-tracking .order-info mark.order-status {
  background: transparent;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--accent-red);
}

.swiss-body-order-tracking .woocommerce-table--order-details {
  border: 1px solid var(--line-black);
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 30px;
}

.swiss-body-order-tracking .woocommerce-customer-details {
  border: 1px solid var(--line-black);
  border-radius: 16px;
  padding: 28px 32px;
  background-color: var(--bg-subtle);
  margin-top: 24px;
}

/* --------------------------------------------------------------------------
   H. LEGAL DOSSIERS (Privacy Policy & Terms and Conditions)
   -------------------------------------------------------------------------- */
.swiss-body-privacy-policy,
.swiss-body-terms-conditions,
.swiss-body-politica-de-privacidad,
.swiss-body-terminos-y-condiciones {
  max-width: 900px;
  margin: 0 auto;
  background-color: #FFFFFF;
  border: 1px solid var(--line-black);
  padding: 48px 44px;
}

.swiss-body-privacy-policy h2,
.swiss-body-privacy-policy h3,
.swiss-body-terms-conditions h2,
.swiss-body-terms-conditions h3 {
  font-family: var(--font-display) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-top: 36px !important;
  margin-bottom: 12px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px solid var(--line-black) !important;
  color: var(--ink-black) !important;
}

.swiss-body-privacy-policy h2:first-child,
.swiss-body-privacy-policy h3:first-child,
.swiss-body-terms-conditions h2:first-child,
.swiss-body-terms-conditions h3:first-child {
  margin-top: 0 !important;
}

.swiss-body-privacy-policy p,
.swiss-body-terms-conditions p {
  font-size: 13.5px !important;
  line-height: 1.75 !important;
  color: var(--ink-dark) !important;
  margin-bottom: 18px !important;
}

.swiss-body-privacy-policy ul,
.swiss-body-terms-conditions ul {
  margin-left: 20px !important;
  margin-bottom: 20px !important;
}

.swiss-body-privacy-policy li,
.swiss-body-terms-conditions li {
  font-size: 13px !important;
  line-height: 1.6 !important;
  margin-bottom: 8px !important;
}

/* --------------------------------------------------------------------------
   I. RESPONSIVE MOBILE REFINEMENTS FOR SECONDARY PAGES
   -------------------------------------------------------------------------- */
@media (max-width: 991px) {
  .swiss-doc-header {
    padding: 24px 20px 20px 20px;
  }

  .swiss-doc-body {
    padding: 28px 20px 60px 20px;
  }

  .swiss-contact-top-grid,
  .swiss-contact-grid {
    grid-template-columns: 1fr;
  }

  .contact-radar-cell,
  .contact-dossier-cell {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .swiss-radar-container {
    height: 300px;
  }

  .contact-channels-3col-grid {
    grid-template-columns: 1fr;
  }

  .contact-channels-3col-grid .contact-channel-card {
    border-right: none;
    border-bottom: 1px solid var(--line-black);
  }

  .contact-channels-3col-grid .contact-channel-card:last-child {
    border-bottom: none;
  }

  .swiss-cart-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  .swiss-cart-sidebar {
    position: static !important;
  }

  .woocommerce-cart .woocommerce,
  .swiss-body-cart .woocommerce {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  form.swiss-checkout-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .swiss-checkout-sidebar {
    position: static !important;
  }

  .woocommerce-checkout form.checkout,
  .swiss-body-checkout form.checkout {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .woocommerce-checkout form.checkout #order_review,
  .swiss-body-checkout form.checkout #order_review {
    position: static !important;
  }

  .logged-in.woocommerce-account .woocommerce,
  .woocommerce-account:has(.woocommerce-MyAccount-navigation) .woocommerce {
    grid-template-columns: 1fr !important;
    border: 1px solid var(--line-black) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
  }

  .woocommerce-MyAccount-navigation {
    border-right: none !important;
    border-bottom: 1px solid var(--line-black) !important;
    grid-column: 1 !important;
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    background-color: var(--bg-subtle) !important;
  }

  .woocommerce-MyAccount-navigation::-webkit-scrollbar {
    display: none !important;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .woocommerce-MyAccount-navigation li {
    border-bottom: none !important;
    border-right: 1px solid var(--line-hairline) !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }

  .woocommerce-MyAccount-navigation li:last-child {
    border-right: none !important;
  }

  .woocommerce-MyAccount-navigation li a {
    padding: 14px 18px !important;
    white-space: nowrap !important;
    font-size: 11px !important;
  }

  .woocommerce-MyAccount-content {
    grid-column: 1 !important;
    padding: 24px 18px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    box-sizing: border-box !important;
  }

  #customer_login {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    border: none !important;
    background: transparent !important;
  }

  #customer_login .u-column1,
  #customer_login .u-column2 {
    border: 1px solid var(--line-black) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background-color: #FFFFFF !important;
    padding: 24px 20px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  #customer_login .button,
  #customer_login button[type="submit"],
  .woocommerce-account form .button,
  .woocommerce-EditAccountForm button[type="submit"] {
    width: 100% !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 8px !important;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error,
  .woocommerce-account .woocommerce-message,
  .woocommerce-account .woocommerce-info,
  .woocommerce-account .woocommerce-error {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px 16px !important;
  }

  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button,
  .woocommerce-account .woocommerce-message .button,
  .woocommerce-account .woocommerce-info .button,
  .woocommerce-account .woocommerce-error .button {
    order: 2 !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 6px !important;
    min-height: 44px !important;
    text-align: center !important;
    justify-content: center !important;
  }

  table.my_account_orders,
  table.woocommerce-orders-table,
  table.woocommerce-MyAccount-orders,
  table.woocommerce-table--order-downloads {
    min-width: 480px !important;
  }

  .woocommerce-account .woocommerce-Addresses,
  .woocommerce-account .u-columns.woocommerce-Addresses,
  .woocommerce-account .addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .woocommerce-account .u-column1.woocommerce-Address,
  .woocommerce-account .u-column2.woocommerce-Address {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .woocommerce-account .woocommerce-Address {
    padding: 20px 18px !important;
  }

  .woocommerce-account .woocommerce-Address .title {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding-bottom: 10px !important;
  }

  .woocommerce-EditAccountForm .form-row-first,
  .woocommerce-EditAccountForm .form-row-last,
  .woocommerce-EditAccountForm .form-row-wide {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 14px !important;
  }

  .woocommerce-EditAccountForm fieldset {
    padding: 18px 16px !important;
    margin: 20px 0 !important;
  }

  .woocommerce-order-received ul.woocommerce-order-overview {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .woocommerce-order-received ul.woocommerce-order-overview li {
    grid-column: span 1 !important;
    border-right: 1px solid var(--line-hairline) !important;
    border-bottom: 1px solid var(--line-hairline) !important;
  }

  .woocommerce-order-received ul.woocommerce-order-overview li:nth-child(2n) {
    border-right: none !important;
  }

  .woocommerce-order-overview__email,
  .woocommerce-order-received ul.woocommerce-order-overview li:nth-child(5) {
    grid-column: span 2 !important;
    border-right: none !important;
    border-bottom: none !important;
  }

  .woocommerce-columns--addresses,
  .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  ul.wc-bacs-bank-details {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  ul.wc-bacs-bank-details li {
    grid-column: span 1 !important;
    border-right: 1px solid var(--line-hairline) !important;
    border-bottom: 1px solid var(--line-hairline) !important;
  }

  ul.wc-bacs-bank-details li:nth-child(2n) {
    border-right: none !important;
  }

  ul.wc-bacs-bank-details li:nth-child(5) {
    grid-column: span 2 !important;
    border-right: none !important;
    border-bottom: none !important;
  }
}

@media (max-width: 600px) {
  .swiss-doc-telemetry {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: 9.5px;
  }

  .form-row-2col,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  .woocommerce-billing-fields__field-wrapper .form-row-wide,
  .woocommerce-shipping-fields__field-wrapper .form-row-wide {
    grid-column: span 1;
  }

  .contact-radar-cell,
  .contact-dossier-cell,
  .contact-form-cell {
    padding: 24px 16px;
  }

  .swiss-body-privacy-policy,
  .swiss-body-terms-conditions,
  .swiss-body-politica-de-privacidad,
  .swiss-body-terminos-y-condiciones {
    padding: 24px 16px;
  }

  .woocommerce-order-received ul.woocommerce-order-overview {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-order-received ul.woocommerce-order-overview li {
    grid-column: span 1 !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line-hairline) !important;
  }

  .woocommerce-order-received ul.woocommerce-order-overview li:last-child {
    border-bottom: none !important;
  }

  ul.wc-bacs-bank-details {
    grid-template-columns: 1fr !important;
  }

  ul.wc-bacs-bank-details li {
    grid-column: span 1 !important;
    border-right: none !important;
    border-bottom: 1px solid var(--line-hairline) !important;
  }

  ul.wc-bacs-bank-details li:last-child {
    border-bottom: none !important;
  }

  /* Swiss Orders Table Card Transformation on Mobile */
  table.woocommerce-orders-table,
  table.my_account_orders,
  table.woocommerce-MyAccount-orders {
    display: block !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
    min-width: 100% !important;
    margin: 16px 0 !important;
  }

  table.woocommerce-orders-table thead,
  table.my_account_orders thead,
  table.woocommerce-MyAccount-orders thead {
    display: none !important;
  }

  table.woocommerce-orders-table tbody,
  table.my_account_orders tbody,
  table.woocommerce-MyAccount-orders tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }

  table.woocommerce-orders-table tr,
  table.my_account_orders tr,
  table.woocommerce-MyAccount-orders tr {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 16px !important;
    border: 1px solid var(--line-black) !important;
    background-color: #FFFFFF !important;
    padding: 18px 16px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  table.woocommerce-orders-table td,
  table.my_account_orders td,
  table.woocommerce-MyAccount-orders td {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 !important;
    border: none !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  table.woocommerce-orders-table td::before,
  table.my_account_orders td::before,
  table.woocommerce-MyAccount-orders td::before {
    content: attr(data-title);
    font-family: var(--font-mono) !important;
    font-size: 9.5px !important;
    font-weight: 700 !important;
    color: var(--ink-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-bottom: 4px !important;
    display: block !important;
  }

  table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions,
  table.my_account_orders td.order-actions,
  table.woocommerce-MyAccount-orders td.order-actions {
    grid-column: span 2 !important;
    margin-top: 6px !important;
    padding-top: 12px !important;
    border-top: 1px dashed var(--line-hairline) !important;
    width: 100% !important;
  }

  table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before,
  table.my_account_orders td.order-actions::before,
  table.woocommerce-MyAccount-orders td.order-actions::before {
    display: none !important;
  }

  table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions a,
  table.my_account_orders td.order-actions a,
  table.woocommerce-MyAccount-orders td.order-actions a {
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    display: flex !important;
    min-height: 42px !important;
    align-items: center !important;
  }
}

/* ==========================================================================
   DISTRACTION-FREE CHECKOUT & CART TUNNEL FLOW (HEADER, BODY & FOOTER)
   ========================================================================== */
.swiss-checkout-flow .swiss-doc-header {
  display: none !important;
}

.swiss-checkout-flow .swiss-doc-body {
  padding: 32px 36px 80px 36px !important;
}

@media (max-width: 768px) {
  .swiss-checkout-flow .swiss-doc-body {
    padding: 20px 16px 60px 16px !important;
  }
}

/* Minimalist Checkout Header */
.swiss-checkout-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-black);
}

.swiss-checkout-header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 56px;
  padding: 0 28px;
}

.swiss-checkout-back-cell {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0;
  border: none !important;
}

.swiss-checkout-back-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 8px 0 !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  text-decoration: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: color 0.2s ease !important;
}

.swiss-checkout-back-link:hover,
.swiss-checkout-back-link:focus,
.swiss-checkout-back-link:active {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ink-black) !important;
  text-decoration: none !important;
}

.swiss-checkout-back-link .bracket {
  color: var(--ink-faint) !important;
  transition: color 0.2s ease !important;
}

.swiss-checkout-back-link:hover .bracket {
  color: var(--accent-red) !important;
}

.swiss-checkout-brand-cell {
  padding: 12px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: none !important;
}

.swiss-checkout-brand-cell img {
  height: 24px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.swiss-checkout-spacer-cell {
  display: flex;
  border: none !important;
}

/* Review Order Table Custom Product Cells & Embedded Coupon */
.swiss-review-product-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.swiss-review-thumb img {
  width: 52px !important;
  height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: cover !important;
  border: 1px solid var(--line-black) !important;
  display: block !important;
}

.swiss-review-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.swiss-review-title {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink-black);
}

.swiss-review-qty {
  font-family: var(--font-mono);
  font-size: 9.5px;
  color: var(--ink-muted);
  letter-spacing: 0.08em;
}

.swiss-checkout-coupon-row td {
  padding: 16px 0 !important;
  border-top: 1px dashed var(--line-hairline) !important;
  border-bottom: 1px dashed var(--line-hairline) !important;
}

.swiss-checkout-coupon-box {
  display: flex;
  gap: 8px;
  width: 100%;
  align-items: stretch;
}

.swiss-coupon-input {
  flex: 1;
  height: 38px !important;
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.10em !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0 !important;
  padding: 0 12px !important;
  text-transform: uppercase !important;
  background-color: var(--bg-pure) !important;
  color: var(--ink-black) !important;
}

.swiss-coupon-input::placeholder {
  color: var(--ink-muted);
}

.btn-swiss-apply-coupon {
  font-family: var(--font-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 0 !important;
  padding: 0 18px !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  transition: background-color 0.2s, color 0.2s;
  white-space: nowrap;
}

.btn-swiss-apply-coupon:hover {
  background-color: var(--accent-red) !important;
  color: #FFFFFF !important;
}

.swiss-coupon-msg {
  font-family: var(--font-mono);
  font-size: 10.5px;
  margin-top: 6px;
}

.swiss-coupon-msg .woocommerce-error {
  color: var(--accent-red);
  margin: 6px 0 0 0;
  padding: 0;
  list-style: none;
}

.swiss-coupon-msg .woocommerce-message {
  color: #10b981;
  margin: 6px 0 0 0;
  padding: 0;
}

/* Minimal Checkout Footer (Single Clean Trust Row) */
.swiss-checkout-footer {
  background-color: var(--ink-black);
  color: #FFFFFF;
  border-top: 1px solid var(--line-black);
  padding: 20px 24px;
  font-family: var(--font-mono);
}

.swiss-checkout-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.swiss-checkout-footer-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 24px;
  font-size: 11px;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.4);
}

.swiss-checkout-footer-trust span:not(.trust-sep) {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #FFFFFF;
}

.swiss-checkout-footer-trust .trust-icon {
  font-size: 16px;
  line-height: 1;
  color: var(--accent-red);
}

/* ==========================================================================
   SWISS CHECKOUT FRAMED CARDS (BOARDING PASS ARCHITECTURAL STYLE)
   ========================================================================== */
.swiss-checkout-grid {
  display: grid !important;
  grid-template-columns: 1.25fr 1fr !important;
  gap: 36px !important;
  align-items: start !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.swiss-checkout-card {
  border: 1px solid var(--line-black) !important;
  background-color: var(--bg-pure) !important;
  border-radius: 16px !important;
  padding: 28px 26px !important;
  margin-bottom: 24px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  position: relative !important;
}

.swiss-card-header {
  margin: 0 0 22px 0 !important;
  padding: 0 !important;
  border: none !important;
}

.swiss-card-title {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: none !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

.swiss-card-step {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 50% !important;
  background-color: var(--ink-black) !important;
  color: #FFFFFF !important;
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.swiss-card-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  line-height: 1 !important;
  height: 18px !important;
  width: 18px !important;
  color: var(--ink-black) !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}

.swiss-card-title-text {
  display: inline-block !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2-Column Grid inside Framed Cards */
.swiss-checkout-card .woocommerce-billing-fields__field-wrapper,
.swiss-checkout-card .woocommerce-shipping-fields__field-wrapper,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  width: 100% !important;
}

.swiss-checkout-card .form-row,
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
  grid-column: span 1 !important;
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Wide rows in checkout */
.swiss-checkout-card #billing_address_1_field,
.swiss-checkout-card #billing_address_2_field,
.swiss-checkout-card #shipping_address_1_field,
.swiss-checkout-card #shipping_address_2_field,
.swiss-checkout-card .notes,
.woocommerce-billing-fields__field-wrapper #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper .notes,
.woocommerce-additional-fields__field-wrapper .notes {
  grid-column: span 2 !important;
}

.swiss-checkout-card .form-row label,
.woocommerce form .form-row label {
  font-family: var(--font-mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;
  color: var(--ink-muted) !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.swiss-checkout-card .form-row .required,
.woocommerce form .form-row .required {
  color: var(--accent-red) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.swiss-checkout-card .form-row input.input-text,
.swiss-checkout-card .form-row select,
.swiss-checkout-card .form-row textarea,
.woocommerce-billing-fields__field-wrapper .form-row input.input-text,
.woocommerce-billing-fields__field-wrapper .form-row select,
.woocommerce-shipping-fields__field-wrapper .form-row input.input-text,
.woocommerce-shipping-fields__field-wrapper .form-row select {
  width: 100% !important;
  box-sizing: border-box !important;
  background-color: rgba(0, 0, 0, 0.02) !important;
  border: 1px solid var(--line-black) !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-family: var(--font-mono) !important;
  font-size: 12.5px !important;
  color: var(--ink-black) !important;
  line-height: 1.4 !important;
  transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s !important;
}

.swiss-checkout-card .form-row input.input-text:focus,
.swiss-checkout-card .form-row select:focus,
.swiss-checkout-card .form-row textarea:focus {
  background-color: var(--bg-pure) !important;
  border-color: var(--ink-black) !important;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.08) !important;
  outline: none !important;
}

/* Sidebar Order Review Card (Right Column) */
.swiss-checkout-sidebar {
  border: 1px solid var(--line-black) !important;
  background-color: var(--bg-pure) !important;
  border-radius: 16px !important;
  padding: 28px 24px !important;
  position: sticky !important;
  top: 80px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
}

.swiss-sidebar-label {
  font-family: var(--font-mono) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--ink-black) !important;
  margin: 0 0 18px 0 !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  text-decoration: none !important;
}

/* ==========================================================================
   BULLETPROOF MOBILE & TABLET CHECKOUT FLOW RESET
   ========================================================================== */
@media (max-width: 900px) {
  /* 1. Main Grid: Pure flex column (100% width, no column collisions) */
  form.swiss-checkout-grid,
  .swiss-checkout-grid,
  .woocommerce-checkout form.checkout,
  .swiss-body-checkout form.checkout,
  .woocommerce-checkout .checkout-form-wrapper {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2. Main Columns: Reset grid-column, float and sticky */
  .swiss-checkout-main,
  .swiss-checkout-sidebar,
  .woocommerce-checkout form.checkout .col2-set,
  .swiss-body-checkout form.checkout .col2-set,
  .woocommerce-checkout form.checkout #order_review,
  .swiss-body-checkout form.checkout #order_review,
  .woocommerce-checkout .col-lg-7,
  .woocommerce-checkout .col-lg-5,
  .woocommerce-checkout .woocommerce-checkout-customer-fields,
  .woocommerce-checkout .woocommerce-checkout-review-order-container,
  #customer_details,
  .swiss-customer-details,
  .col-1,
  .col-2 {
    grid-column: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* 3. Form Field Wrappers: Pure flex column */
  .swiss-checkout-card .woocommerce-billing-fields__field-wrapper,
  .swiss-checkout-card .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* 4. All Form Rows & Specific ID overrides: 100% width, no grid-column spans, no floats */
  .swiss-checkout-card .form-row,
  .woocommerce-billing-fields__field-wrapper .form-row,
  .woocommerce-shipping-fields__field-wrapper .form-row,
  .woocommerce-additional-fields__field-wrapper .form-row,
  .woocommerce form .form-row,
  .woocommerce-page form .form-row,
  .form-row,
  .form-row-first,
  .form-row-last,
  .form-row-wide,
  .swiss-checkout-card #billing_first_name_field,
  .swiss-checkout-card #billing_last_name_field,
  .swiss-checkout-card #billing_email_field,
  .swiss-checkout-card #billing_phone_field,
  .swiss-checkout-card #billing_dni_field,
  .swiss-checkout-card #billing_address_1_field,
  .swiss-checkout-card #billing_address_2_field,
  .swiss-checkout-card #billing_city_field,
  .swiss-checkout-card #billing_state_field,
  .swiss-checkout-card #billing_postcode_field,
  .swiss-checkout-card #shipping_address_1_field,
  .swiss-checkout-card #shipping_address_2_field,
  .swiss-checkout-card .notes,
  .woocommerce-billing-fields__field-wrapper #billing_address_1_field,
  .woocommerce-billing-fields__field-wrapper #billing_address_2_field,
  .woocommerce-billing-fields__field-wrapper .notes,
  .woocommerce-additional-fields__field-wrapper .notes {
    grid-column: auto !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* 5. Inputs & Labels */
  .swiss-checkout-card .form-row input.input-text,
  .swiss-checkout-card .form-row select,
  .swiss-checkout-card .form-row textarea,
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row select,
  .woocommerce form .form-row textarea {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
    min-height: 44px !important;
    padding: 12px 14px !important;
    border-radius: 8px !important;
  }

  .swiss-checkout-card .form-row label,
  .woocommerce form .form-row label {
    font-size: 10px !important;
    margin-bottom: 6px !important;
    display: block !important;
  }

  /* 6. Cards styling */
  .swiss-checkout-card {
    padding: 22px 16px !important;
    border-radius: 12px !important;
    margin-bottom: 16px !important;
  }

  .swiss-checkout-sidebar {
    padding: 22px 16px !important;
    border-radius: 12px !important;
    margin-top: 8px !important;
  }

  .swiss-card-title {
    font-size: 12px !important;
    gap: 10px !important;
  }

  .swiss-card-step {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 11px !important;
  }

  .swiss-sidebar-label {
    font-size: 12px !important;
    margin-bottom: 14px !important;
  }

  /* 7. Order Review Table */
  table.woocommerce-checkout-review-order-table {
    width: 100% !important;
    border-collapse: collapse !important;
    table-layout: fixed !important;
  }

  table.woocommerce-checkout-review-order-table thead th.product-name,
  table.woocommerce-checkout-review-order-table tbody td.product-name {
    width: 65% !important;
    padding: 10px 4px !important;
  }

  table.woocommerce-checkout-review-order-table thead th.product-total,
  table.woocommerce-checkout-review-order-table tbody td.product-total {
    width: 35% !important;
    padding: 10px 4px !important;
    text-align: right !important;
  }

  .swiss-review-product-cell {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  .swiss-review-thumb img {
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex-shrink: 0 !important;
  }

  .swiss-review-info {
    min-width: 0 !important;
    flex: 1 !important;
  }

  .swiss-review-title {
    font-size: 11px !important;
    word-break: break-word !important;
    line-height: 1.3 !important;
  }

  /* 8. Coupon Box in Review Table */
  .swiss-checkout-coupon-box {
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
  }

  .swiss-coupon-input {
    width: 100% !important;
    height: 42px !important;
    font-size: 12px !important;
  }

  .btn-swiss-apply-coupon {
    width: 100% !important;
    height: 42px !important;
  }

  /* 9. Payment Gateway List & Details */
  #payment {
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
  }

  #payment ul.payment_methods {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  #payment ul.payment_methods li {
    width: 100% !important;
    padding: 12px 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    display: block !important;
    position: relative !important;
  }

  #payment ul.payment_methods li input[type="radio"] {
    float: left !important;
    margin: 4px 8px 0 0 !important;
  }

  #payment ul.payment_methods li label {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: calc(100% - 28px) !important;
    line-height: 1.35 !important;
    cursor: pointer !important;
    float: none !important;
  }

  #payment div.payment_box {
    clear: both !important;
    width: 100% !important;
    float: none !important;
    margin: 10px 0 !important;
    padding: 14px 12px !important;
    box-sizing: border-box !important;
  }

  #mp-checkout-pro-root.mp-checkout-pro-container .mp-checkout-pro-content .mp-checkout-pro-benefits {
    flex-direction: column !important;
    gap: 10px !important;
    align-items: flex-start !important;
    padding: 8px 0 !important;
  }

  .mp-checkout-pro-benefit {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .mp-checkout-pro-benefits-title,
  .mp-checkout-ticket-text,
  .bacs-payment-box-title {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
  }

  .mp-checkout-ticket-terms-and-conditions {
    padding-top: 8px !important;
  }

  /* 10. Place Order Button */
  #place_order {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
    padding: 16px !important;
    margin-top: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 11. Header & Footer */
  .swiss-checkout-header-inner {
    grid-template-columns: auto 1fr auto !important;
    min-height: 48px !important;
    padding: 0 14px !important;
  }

  .swiss-checkout-brand-cell {
    padding: 8px 10px !important;
  }

  .swiss-checkout-brand-cell img {
    height: 18px !important;
  }

  .swiss-checkout-back-link {
    font-size: 10px !important;
    gap: 4px !important;
  }

  .swiss-checkout-footer {
    padding: 20px 14px 36px 14px !important;
  }

  .swiss-checkout-footer-trust {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
  }

  .swiss-checkout-footer-trust .trust-sep {
    display: none !important;
  }
}

@media (max-width: 480px) {
  .swiss-checkout-flow .swiss-doc-body {
    padding: 20px 14px 48px 14px !important;
  }

  .swiss-checkout-card {
    padding: 16px 12px !important;
    border-radius: 10px !important;
    margin-bottom: 12px !important;
  }

  .swiss-checkout-sidebar {
    padding: 16px 12px !important;
    border-radius: 10px !important;
  }

  .swiss-checkout-header-inner {
    padding: 0 10px !important;
  }

  .swiss-checkout-header-security {
    font-size: 9px !important;
  }
}

/* Strict Title Underline & Border Resets */
.swiss-card-title,
.swiss-card-title *,
.swiss-card-header,
.swiss-sidebar-label,
.swiss-sidebar-label *,
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3,
.woocommerce-checkout h3 {
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.swiss-card-title::before,
.swiss-card-title::after,
.swiss-card-header::before,
.swiss-card-header::after,
.swiss-sidebar-label::before,
.swiss-sidebar-label::after,
.woocommerce-checkout h3::before,
.woocommerce-checkout h3::after {
  display: none !important;
  content: none !important;
  border: none !important;
}

/* Customer Details Containers & Card Separation Normalization */
.swiss-checkout-main .col2-set,
.swiss-checkout-main #customer_details,
.swiss-checkout-main .col-1,
.swiss-checkout-main .col-2,
.woocommerce-billing-fields,
.woocommerce-shipping-fields,
.woocommerce-additional-fields {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.woocommerce-shipping-fields:empty {
  display: none !important;
}