/* Hostelería: Conexa como marca principal, Ágora como tecnología de apoyo. */
.hospitality-page { --agora-red:#ff0b3b; --agora-text:#c9002a; }
.hospitality-page section[id] { scroll-margin-top:110px; }
.hospitality-page .eyebrow { font-size:.875rem; letter-spacing:.1em; }
.hospitality-page h2 { font-size:clamp(2.25rem,4.1vw,3.9rem); }
.hospitality-page a:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
.hospitality-hero { padding:70px 0 76px; background:linear-gradient(125deg,#fff,#eef3f5); }
.hospitality-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:70px; align-items:center; }
.hospitality-hero h1 { font-size:clamp(3rem,5.25vw,5.3rem); }
.hospitality-hero h1 span { color:var(--orange-dark); }
.hospitality-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:38px 0 0; padding:24px 0 0; list-style:none; border-top:1px solid var(--line); font-size:.875rem; color:var(--muted); }
.hospitality-facts li { display:grid; gap:6px; }
.hospitality-facts strong { color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:1.1rem; }
.hospitality-cover { position:relative; margin:0; min-height:590px; overflow:hidden; border-radius:100px 24px 24px 24px; box-shadow:var(--shadow); background:var(--navy); }
.hospitality-cover > img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 46%; }
.hospitality-cover:after { position:absolute; inset:45% 0 0; content:""; background:linear-gradient(transparent,rgba(0,38,62,.96)); }
.hospitality-cover figcaption { position:absolute; z-index:1; inset:auto 30px 30px; color:#fff; }
.hospitality-cover figcaption span { display:block; margin-bottom:10px; color:#ffac84; font-size:.875rem; font-weight:700; }
.hospitality-cover figcaption strong { font-family:"Conexa Display",sans-serif; font-size:1.65rem; line-height:1.2; }
.hospitality-sectors { padding:22px 0; background:var(--navy); color:#fff; }
.hospitality-sectors > div { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.hospitality-sectors > div > span { font-size:.875rem; color:#bed0db; }
.hospitality-sectors a { display:flex; align-items:center; gap:12px; min-height:44px; font-weight:800; }
.hospitality-sectors a span { color:#ff9a68; }
.hospitality-scenario { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); align-items:center; gap:95px; }
.hospitality-scenario h2 span { color:var(--orange-dark); }
.hospitality-intro { margin:26px 0 30px; color:var(--muted); font-size:1.12rem; }
.hospitality-use-cases { margin:0 0 28px; }
.hospitality-use-cases > div { padding:20px 0; border-top:1px solid var(--line); }
.hospitality-use-cases dt { margin-bottom:7px; color:var(--navy); font-weight:800; font-size:1.05rem; }
.hospitality-use-cases dd { margin:0; color:var(--muted); }
.hospitality-menu-figure { display:grid; justify-items:center; gap:24px; margin:0; padding:32px 24px; border-radius:30px; background:var(--mist); }
.hospitality-phone { position:relative; overflow:hidden; width:min(210px,85%); aspect-ratio:636 / 1465; border-radius:16% / 7%; box-shadow:0 18px 32px rgba(0,38,62,.2); }
.hospitality-phone > img { position:absolute; width:143.4%; max-width:none; height:auto; top:-8.33%; left:-21.7%; }
.hospitality-menu-figure figcaption { display:grid; gap:8px; max-width:300px; text-align:center; }
.hospitality-menu-figure figcaption strong { color:var(--navy); }
.hospitality-menu-figure figcaption span { color:var(--muted); font-size:.875rem; }
.hospitality-restaurants .hospitality-use-cases dt { color:var(--agora-text); }
.hospitality-night { background:var(--navy); color:#fff; }
.hospitality-myagora { background:#fff; }
.hospitality-myagora .eyebrow,.hospitality-myagora .hospitality-use-cases dt { color:var(--agora-text); }
.hospitality-myagora h2 span { color:var(--navy); }
.hospitality-myagora-figure { border-top:4px solid var(--agora-red); }
.hospitality-myagora-phone { position:relative; overflow:hidden; width:min(260px,85%); aspect-ratio:646 / 1469; border-radius:16% / 7%; box-shadow:0 18px 32px rgba(0,38,62,.2); }
.hospitality-myagora-phone img { position:absolute; width:141.33%; max-width:none; height:auto; top:-7.35%; left:-20.59%; }
.hospitality-myagora-support { color:var(--muted); font-size:.875rem; margin:16px 0 0; }
.hospitality-kds { background:var(--mist); }
.hospitality-kds .eyebrow { color:var(--agora-text); }
.hospitality-kds h2 span { color:var(--navy); }
.hospitality-kds-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr); align-items:center; gap:60px; }
.hospitality-kds-figure { margin:0; padding:16px 16px 24px; background:#fff; border-radius:28px; border-top:4px solid var(--agora-red); box-shadow:0 18px 45px rgba(0,38,62,.08); }
.hospitality-kds-figure img { display:block; width:100%; height:auto; }
.hospitality-kds-figure figcaption { display:grid; gap:6px; padding:0 12px; text-align:center; }
.hospitality-kds-figure figcaption span { font-size:.875rem; color:var(--muted); }
.hospitality-kds-copy .hospitality-use-cases dt { color:var(--agora-text); }
.hospitality-kds-price { border-top:1px solid var(--line); padding-top:22px; margin:0 0 24px; }
.hospitality-kds-price p { display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin:0 0 5px; }
.hospitality-kds-price strong { color:var(--navy); font-family:"Conexa Display",sans-serif; font-size:2.6rem; line-height:1.1; letter-spacing:-.04em; }
.hospitality-kds-price small,.hospitality-kds-support { color:var(--muted); font-size:.875rem; }
.hospitality-kds-support { margin:16px 0 0; }
.hospitality-night .eyebrow { color:#ff9a68; }
.hospitality-night h2 span { color:#ff9a68; }
.hospitality-night .hospitality-intro { color:#c5d3db; }
.hospitality-night-panel { padding:36px; border-radius:26px; border:1px solid #31516a; background:#06334f; }
.hospitality-night-number { margin:0; color:#fff; font-family:"Conexa Display",sans-serif; font-size:clamp(4rem,8vw,7rem); font-weight:800; line-height:1; letter-spacing:-.07em; }
.hospitality-night-caption { margin:18px 0 26px; color:#ff9a68; font-weight:700; }
.hospitality-night .hospitality-use-cases { margin-bottom:0; }
.hospitality-night .hospitality-use-cases > div { border-color:#31516a; }
.hospitality-night .hospitality-use-cases dt { color:#fff; }
.hospitality-night .hospitality-use-cases dd { color:#c5d3db; }
.hospitality-fast { background:#fff; }
.hospitality-fast-layout { gap:44px 70px; }
.hospitality-kiosk-figure { margin:0; padding:24px 16px; border:1px solid var(--line); border-radius:30px; background:#fff; }
.hospitality-kiosk-figure > img { display:block; width:100%; height:410px; object-fit:contain; }
.hospitality-kiosk-figure figcaption { display:grid; gap:6px; padding:12px 16px 0; text-align:center; }
.hospitality-kiosk-figure figcaption strong { color:var(--navy); }
.hospitality-kiosk-figure figcaption span { font-size:.875rem; color:var(--muted); }
.hospitality-fast-layout .hospitality-fast-panel { grid-column:1 / -1; }
.hospitality-fast-layout .hospitality-order-steps { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.hospitality-fast-panel { padding:32px; background:#fff1f4; border-radius:26px; border-top:4px solid var(--agora-red); }
.hospitality-small-title { color:var(--agora-text); font-size:.875rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.hospitality-order-steps { display:grid; gap:26px; list-style:none; padding:0; margin:30px 0; }
.hospitality-order-steps li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:16px; }
.hospitality-order-steps li > span { color:var(--agora-text); font-family:"Conexa Display",sans-serif; font-weight:800; font-size:1.15rem; }
.hospitality-order-steps h3 { font-size:1.2rem; }
.hospitality-order-steps p { margin:10px 0 0; color:var(--muted); }
.hospitality-fast-note { padding-top:20px; border-top:1px solid #efc2cc; margin:0; color:var(--muted); font-size:.875rem; }
.hospitality-plan { background:var(--mist); }
.hospitality-plan-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.85fr); gap:90px; align-items:center; }
.hospitality-plan h2 span { color:var(--orange-dark); }
.hospitality-plan-list { margin:0; padding:0; display:grid; gap:12px; list-style:none; }
.hospitality-plan-list li:before { content:"✓"; color:var(--green); margin-right:10px; font-weight:900; }
.hospitality-price-card { padding:36px; border:2px solid var(--orange); border-radius:26px; background:#fff; box-shadow:var(--shadow); }
.hospitality-price-card > p:first-child { color:var(--orange-dark); font-size:.875rem; font-weight:800; }
.hospitality-price-card h3 { color:var(--navy); font-size:1.9rem; line-height:1.16; }
.hospitality-price { display:flex; flex-wrap:wrap; gap:12px; align-items:baseline; margin:26px 0 0; }
.hospitality-price strong { font-family:"Conexa Display",sans-serif; font-size:4.8rem; letter-spacing:-.06em; line-height:1; }
.hospitality-price span { color:var(--muted); font-size:1.1rem; }
.hospitality-price-tax { margin:12px 0 26px; color:var(--muted); font-size:.95rem; }
.hospitality-setup-price { display:grid; gap:5px; margin:26px 0 0; border-top:1px solid var(--line); padding-top:20px; font-size:.875rem; }
.hospitality-setup-price span { color:var(--muted); }
.hospitality-setup-steps { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; }
.hospitality-setup-steps li { border-top:2px solid var(--line); padding-top:24px; }
.hospitality-setup-steps li > span { color:var(--orange-dark); font-size:.95rem; font-weight:800; }
.hospitality-setup-steps h3 { margin:25px 0 14px; font-size:1.35rem; }
.hospitality-setup-steps p { margin:0; color:var(--muted); }
.hospitality-qr-note { margin:34px 0 20px; padding:20px; background:var(--mist); border-radius:12px; color:var(--muted); font-size:.95rem; }
.hospitality-form-link { margin-top:6px; font-size:.95rem; text-align:center; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:1100px) {
  .hospitality-hero-grid { gap:40px; }
  .hospitality-scenario,.hospitality-plan-grid { gap:48px; }
  .hospitality-cover { min-height:560px; }
  .hosteleria-preview .menu,.page-template-page-hosteleria .menu { gap:16px; }
}
@media (max-width:780px) {
  .hospitality-myagora-phone { width:min(225px,85%); }
  .hospitality-myagora .button { width:100%; }
  .hospitality-kds-grid { grid-template-columns:1fr; gap:32px; }
  .hospitality-kds-copy .button { width:100%; }
  .hospitality-fast-layout .hospitality-order-steps { grid-template-columns:1fr; gap:24px; }
  .hospitality-kiosk-figure > img { height:340px; }
  .hospitality-hero { padding:48px 0; }
  .hospitality-hero-grid,.hospitality-scenario,.hospitality-plan-grid,.hospitality-setup-steps { grid-template-columns:1fr; gap:40px; }
  .hospitality-hero h1 { font-size:clamp(2.8rem,11vw,4rem); }
  .hospitality-cover { min-height:420px; border-radius:70px 22px 22px 22px; }
  .hospitality-cover img { object-position:center 45%; }
  .hospitality-facts { grid-template-columns:1fr; gap:14px; margin-top:26px; }
  .hospitality-facts li { gap:2px; }
  .hospitality-sectors > div { display:grid; gap:8px; }
  .hospitality-sectors a { justify-content:space-between; }
  .hospitality-menu-figure { padding:28px 22px; }
  .hospitality-night-panel,.hospitality-fast-panel,.hospitality-price-card { padding:27px; }
  .hospitality-page .hero-actions .button { padding-inline:14px; }
  .hosteleria-preview .header-inner,.page-template-page-hosteleria .header-inner { flex-wrap:wrap; padding-top:14px; gap:14px; }
  .hosteleria-preview .header-inner nav,.page-template-page-hosteleria .header-inner nav { display:block; order:3; flex:0 0 100%; overflow-x:auto; padding:0 0 13px; }
  .hosteleria-preview .menu,.page-template-page-hosteleria .menu { width:max-content; gap:22px; font-size:.9rem; }
  .hospitality-page section[id] { scroll-margin-top:140px; }
}
