/* El Michi del Puerto — generated from tokens.json */
@font-face { font-family: "Hybriduo"; src: url("../fonts/Hybriduo-Light.otf") format("opentype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo"; src: url("../fonts/Hybriduo-Regular.otf") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo"; src: url("../fonts/Hybriduo-Bold.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo"; src: url("../fonts/Hybriduo-BoldScript.otf") format("opentype"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo Script"; src: url("../fonts/Hybriduo-LightScript.otf") format("opentype"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo Script"; src: url("../fonts/Hybriduo-Script.otf") format("opentype"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Hybriduo Script"; src: url("../fonts/Hybriduo-BoldScript.otf") format("opentype"); font-weight: 700; font-style: normal; font-display: swap; }
:root, [data-theme="light"] {
  --arena: #ebecd9;
  --casi-verde: #dcddc1;
  --obscuro: #3f4139;
  --obscuro-suave: #5c5e54;
  --verde: #1b8c78;
  --verde-profundo: #14695a;
  --naranjato: #ffcb9f;
  --naranja: #f5592f;
  --overlay-hero: rgba(57, 62, 65, 0.3);
  --overlay-tab: rgba(0, 0, 0, 0.5);
  --slider-track: rgba(255, 255, 255, 0.2);
  --slider-progress: #ffffff;
  --status-closed: #e74c3c;
  --status-open: #3fbf8f;
  --form-error-text: #b42318;
  --form-error-bg: #fef3f2;
  --form-success-text: #027a48;
  --shadow-offset: -4px 4px 0 0 #3f4139;
  --shadow-offset-hover: -2px 2px 0 0 #3f4139;
  --shadow-offset-lg: -6px 6px 0 0 #3f4139;
  --shadow-input: -3px 3px 0 2px #3f4139;
  --shadow-soft-offset: -5px 5px 0 0 rgba(0, 0, 0, 0.15);
  --shadow-menu-wrapper: -5px 5px 0 0 rgba(0, 0, 0, 0.2);
  --shadow-nav: 0 2px 13px 0 rgba(0, 0, 0, 0.12);
  --shadow-image: 0 3px 5px 0 rgba(0, 0, 0, 0.13);
  --shadow-section: 0 20px 20px 0 rgba(0, 0, 0, 0.04);
  --shadow-footer: 0 -20px 20px 0 rgba(0, 0, 0, 0.1);
}
:root {
  --space-8: 0.5rem;
  --space-16: 1rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;
  --page-gutter: 4.5rem;
  --section-medium: 5rem;
  --space-100: 6.25rem;
  --section-large: 7rem;
  --section-huge: 9rem;
  --space-170: 10.625rem;
  --radius: 1rem;
  --radius-input: 0.7rem;
  --radius-icon: 8px;
  --radius-checkbox: 5px;
  --radius-round: 50%;
  --container-large: 80rem;
  --max-width-xlarge: 64rem;
  --max-width-large: 48rem;
  --max-width-medium: 35rem;
  --navbar-height: 6.5rem;
  --border-dashed: 1px dashed #1b8c78;
  --border-solid: 1px solid #3f4139;
  --font-sans: Hybriduo, Verdana, sans-serif;
  --font-script: "Hybriduo Script", Hybriduo, Verdana, sans-serif;
}
.banner-watermark { font-family: var(--font-sans); font-size: 96px; line-height: 1.2; font-weight: 700; }
.h1 { font-family: var(--font-sans); font-size: 56px; line-height: 1.2; font-weight: 700; }
.h2 { font-family: var(--font-sans); font-size: 48px; line-height: 1.2; font-weight: 700; }
.h3 { font-family: var(--font-sans); font-size: 40px; line-height: 1.2; font-weight: 700; }
.h4 { font-family: var(--font-sans); font-size: 32px; line-height: 1.3; font-weight: 700; }
.h5 { font-family: var(--font-sans); font-size: 24px; line-height: 1.4; font-weight: 700; }
.h6 { font-family: var(--font-sans); font-size: 20px; line-height: 1.4; font-weight: 700; }
.sticker { font-family: var(--font-sans); font-size: 76px; line-height: 1; font-weight: 900; }
.sticker-small { font-family: var(--font-sans); font-size: 40px; line-height: 1; font-weight: 900; }
.sticker-xs { font-family: var(--font-sans); font-size: 32px; line-height: 1; font-weight: 900; }
.script-light { font-family: var(--font-script); font-size: 40px; line-height: 1.1; font-weight: 300; }
.script-regular { font-family: var(--font-script); font-size: 40px; line-height: 1.1; font-weight: 400; }
.button-huge { font-family: var(--font-sans); font-size: 24px; line-height: 24px; font-weight: 400; }
.paragraph-large { font-family: var(--font-sans); font-size: 20px; line-height: 1.5; font-weight: 400; }
.label-bigger { font-family: var(--font-sans); font-size: 19.2px; line-height: 1.2; font-weight: 400; }
.text-medium { font-family: var(--font-sans); font-size: 18px; line-height: 1.5; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 1.5; font-weight: 400; }
.price { font-family: var(--font-sans); font-size: 20px; line-height: 24px; font-weight: 600; }
.small { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; font-weight: 400; }
.status { font-family: var(--font-sans); font-size: 12.8px; line-height: 1.5; font-weight: 400; }
.tiny { font-family: var(--font-sans); font-size: 12px; line-height: 1.5; font-weight: 400; }
