:root{--bg: #0f0f10;--bg-soft: #1a1c21;--panel: #1a1c21;--line: #353840;--text: #f5f4f2;--muted: #d0d2d8;--accent: #c9a34a;--accent-soft: #e2c78b;--hero-progress: 0}.public-page{min-height:100dvh;box-sizing:border-box;background:radial-gradient(circle at 8% -15%,#2a2417 0%,var(--bg) 48%),var(--bg);color:var(--text);font-family:Avenir Next,Trebuchet MS,Segoe UI,sans-serif;padding:88px 22px 34px;position:relative;overflow-x:hidden}.public-bg-orb{position:absolute;pointer-events:none;border-radius:999px;filter:blur(2px)}.public-bg-orb-a{width:420px;height:420px;right:-180px;top:-200px;background:radial-gradient(circle,#c9a34a47,#c9a34a00 72%)}.public-bg-orb-b{width:360px;height:360px;left:-160px;top:46%;background:radial-gradient(circle,#4e453042,#4e453000 70%)}.public-topbar,.hero-section,.content-section,.public-footer{max-width:1080px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.public-topbar{position:fixed;top:calc(env(safe-area-inset-top,0px) + 8px);left:50%;transform:translate(-50%);width:min(1080px,calc(100% - 28px));box-sizing:border-box;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#131418d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#servicios,#proceso,#ubicacion,#faq{scroll-margin-top:108px}.public-brand{display:flex;align-items:center;gap:6px}.public-brand strong{display:block;letter-spacing:.7px;font-size:14px}.public-brand span{display:block;color:var(--muted);font-size:12px}.public-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.public-nav a{color:var(--text);text-decoration:none;font-weight:600;padding:8px 11px;border-radius:999px;border:1px solid transparent}.public-nav a:hover{border-color:var(--line);background:#ffffff08}.public-nav .public-pill-link{border:1px solid var(--line)}.hero-section{padding-top:52px}.hero-stage{min-height:130vh;position:relative;margin-top:6px}.hero-bg-wrap{position:sticky;top:0;height:100vh;border-radius:24px;overflow:hidden;border:0}.hero-bg-media{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 12% 22%,#3e35234d,#09090ad1),linear-gradient(180deg,#0e0e1033,#09090ae6),url(/BarbacosPNG.png);background-position:center,center,center;background-size:cover,cover,min(66vmin,680px);background-repeat:no-repeat;transform:scale(calc(1.04 - (var(--hero-progress) * .08)));opacity:calc(1 - (var(--hero-progress) * .82));filter:saturate(calc(1 + (1 - var(--hero-progress)) * .25))}.hero-bg-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0a0a0c3d,#0a0a0c75 44%,#0a0a0ceb)}.hero-stage .hero-section{position:absolute;inset:auto 0 8vh;z-index:2;width:min(1080px,calc(100% - 32px));margin-left:auto;margin-right:auto}.hero-center-cta-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;place-items:center;pointer-events:none;opacity:calc(1 - (var(--hero-progress) * 1.4));transform:translateY(calc(var(--hero-progress) * -14px));transition:opacity .18s ease,transform .18s ease}.hero-center-cta{pointer-events:auto;font-size:1.05rem;padding:13px 24px;box-shadow:0 10px 30px #00000052}.hero-kicker{margin:0;color:var(--accent-soft);text-transform:uppercase;letter-spacing:1px;font-size:12px;font-weight:700}.hero-section h1{margin:16px 0 0;font-size:clamp(2.2rem,7.4vw,4.4rem);line-height:1.01;text-wrap:balance;max-width:820px}.hero-subtitle{margin:14px 0 0;color:var(--muted);max-width:760px;line-height:1.55;font-size:clamp(1rem,2.8vw,1.2rem)}.hero-actions{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}.btn-primary,.btn-secondary{text-decoration:none;border-radius:12px;font-weight:800;box-sizing:border-box;max-width:100%;display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#0a0c10;padding:12px 16px}.btn-secondary{border:1px solid var(--line);color:var(--text);padding:11px 16px}.hero-badges{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}.hero-badges span{border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--muted);font-size:13px;background:#080b1099}.content-section{margin-top:44px}.surface-section{background:linear-gradient(180deg,#18191ed6,#111214f2);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.section-header{margin-bottom:16px}.section-header h2{margin:0;font-size:clamp(1.65rem,4.5vw,2.25rem)}.section-header p{margin:8px 0 0;color:var(--muted)}.service-accordion-list{display:grid;gap:12px}.service-accordion{border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#1d1c18eb,#16171bfa);overflow:hidden}.service-accordion-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px;background:transparent;border:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.service-accordion-summary strong{display:block;font-size:1rem}.service-accordion-summary>div span{display:block;margin-top:5px;color:var(--muted);font-size:.92rem}.accordion-arrow{display:inline-grid;place-items:center;flex-shrink:0;width:26px;height:26px;margin-top:0;border-radius:999px;border:1px solid var(--line);color:var(--accent-soft);transform:rotate(0);transition:transform .18s ease}.accordion-arrow:before{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(45deg)}.service-accordion.is-open .accordion-arrow{transform:rotate(180deg)}.service-accordion-panel{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding:0 16px 16px}.service-accordion-panel[hidden]{display:none}.service-card{background:linear-gradient(165deg,#211f1a,#17181c);border:1px solid var(--line);border-radius:14px;padding:16px}.service-card h3{margin:0;font-size:1.03rem}.service-card p{margin:10px 0 0;color:var(--muted)}.service-card small{display:block;margin-top:8px;color:var(--muted);line-height:1.45;font-size:.9rem}.service-card strong{display:block;margin-top:8px;color:var(--accent-soft)}.steps-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.step-card{background:linear-gradient(175deg,#201d18,#17181b);border:1px solid var(--line);border-radius:14px;padding:16px}.step-card span{display:inline-block;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:800;color:#111214;background:var(--accent)}.step-card h3{margin:10px 0 0}.step-card p{margin:8px 0 0;color:var(--muted);line-height:1.45}.trust-section{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.trust-card{border:1px solid var(--line);border-radius:16px;padding:16px;background:#1a1c21}.trust-card h3{margin:0}.trust-card p{margin:10px 0 0;color:var(--muted);line-height:1.5}.faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:12px;background:#1a1c21;padding:12px 14px}.faq-item summary{cursor:pointer;font-weight:700}.faq-item summary{list-style:none;cursor:pointer;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"▾";display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);color:var(--accent-soft);font-size:14px;flex-shrink:0;transform:rotate(0);transition:transform .18s ease}.faq-item[open] summary:after{transform:rotate(180deg)}.faq-item p{margin:10px 0 0;color:var(--muted)}.location-map-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#121417;min-height:340px}.location-map-wrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block}.location-actions{margin-top:14px}.final-cta-section{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#c9a34a24,#18191edb);padding:22px}.final-cta-section h2{margin:0}.final-cta-section p{margin:10px 0 0;color:var(--muted)}.public-footer{margin-top:44px;border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--muted)}.public-footer div{display:flex;gap:12px;flex-wrap:wrap}.public-footer a{color:var(--accent-soft);text-decoration:none}.legal-page .legal-main{max-width:860px;margin:0 auto;padding-top:36px;position:relative;z-index:1}.legal-back-link{display:inline-flex;align-items:center;gap:8px;border-radius:999px;border-color:#c9a34a80;background:#111216b3;color:#f3e2b8;padding:9px 14px}.legal-back-link:hover{border-color:var(--accent);background:#c9a34a1f;color:var(--accent-soft)}.legal-main h1{margin:18px 0 0;font-size:clamp(2rem,6vw,3rem)}.legal-subtitle{margin:10px 0 0;color:var(--muted)}.legal-article{margin-top:20px;border:1px solid var(--line);border-radius:16px;background:#1a1c21;padding:20px;line-height:1.6;color:var(--muted);display:grid;gap:8px}.legal-article h2{margin:8px 0 0;font-size:1.05rem;color:var(--text)}.legal-article p{margin:0}.legal-article a{color:var(--accent-soft)}.booking-page .booking-main{max-width:980px;margin-left:auto;margin-right:auto}.booking-form{display:grid;gap:14px}.booking-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.booking-field{display:grid;gap:7px}.booking-field span{color:var(--muted);font-size:13px;font-weight:700}.booking-field input,.booking-field select,.booking-field textarea{width:100%;box-sizing:border-box;background:#15171b;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font:inherit}.booking-field textarea{resize:vertical}.booking-mobile-only{display:none}.booking-select-wrap{position:relative}.booking-select-button{width:100%;box-sizing:border-box;background:#15171b;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 12px;font:inherit;display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}.booking-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:55;border:1px solid var(--line);border-radius:12px;background:#13151a;box-shadow:0 16px 30px #00000073;max-height:230px;overflow:auto;padding:6px;display:grid;gap:4px}.booking-select-option{width:100%;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);padding:8px 9px;font:inherit;cursor:pointer}.booking-select-option.is-selected{border-color:#c9a34a73;background:#c9a34a1f;color:var(--accent-soft)}.booking-slots-wrap{border:1px solid var(--line);border-radius:12px;background:#171a1f;padding:12px;display:grid;gap:10px}.booking-slot-title{margin:0;font-weight:700}.booking-slots-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.slot-button{border:1px solid var(--line);background:#111316;color:var(--text);border-radius:10px;padding:9px 8px;font-weight:700;cursor:pointer}.slot-button-selected{border-color:var(--accent);background:#c9a34a29;color:var(--accent-soft)}.booking-checkbox{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:14px}.booking-submit{border:0;cursor:pointer;min-height:46px}.booking-submit:disabled{opacity:.55;cursor:not-allowed}.booking-status,.booking-error,.booking-success{margin:0;font-size:14px}.booking-status{color:var(--muted)}.booking-error{color:#f2b6b6}.booking-success{color:#b6f2c3}.booking-success-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#07080ab8;display:grid;place-items:center;padding:18px}.booking-success-modal-panel{width:min(460px,100%);border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#1b1d22,#121317);padding:18px;display:grid;gap:12px;box-shadow:0 16px 46px #00000073}.booking-success-modal-panel h3{margin:0;font-size:1.2rem}.booking-success-modal-panel p{margin:0;color:var(--muted)}@media(max-width:760px){.public-page{padding-left:14px;padding-right:14px;padding-top:calc(env(safe-area-inset-top,0px) + 88px)}.legal-page{padding-top:calc(env(safe-area-inset-top,0px) + 18px)}.legal-page .legal-main{padding-top:8px}.public-topbar{align-items:center;flex-direction:row;justify-content:space-between;left:10px;right:10px;transform:none;width:auto;gap:10px;padding:9px 10px}.public-nav{width:min(72vw,460px);flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:2px;scrollbar-width:none}.public-nav::-webkit-scrollbar{display:none}.public-nav a{white-space:nowrap;padding:7px 10px;font-size:13px}.hero-stage{min-height:98vh}.hero-bg-wrap{border-radius:18px;height:88vh}.hero-stage .hero-section{width:calc(100% - 22px);inset:12vh 0 auto;transform:none;opacity:1;text-align:center}.hero-stage .hero-subtitle{margin-left:auto;margin-right:auto}.hero-center-cta-wrap{align-items:start;justify-items:center;padding-top:56vh}.hero-center-cta{width:min(86vw,340px);text-align:center}.hero-stage .hero-actions{display:none}.surface-section{padding:16px}.booking-grid{grid-template-columns:1fr}.booking-desktop-only{display:none}.booking-mobile-only{display:grid}.booking-page .booking-slots-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.content-section{margin-top:28px}.hero-stage+.content-section{margin-top:14px}.hero-actions{width:100%;gap:10px}.hero-actions .btn-primary,.hero-actions .btn-secondary{flex:1 1 0;min-width:0;text-align:center}.location-actions{display:grid;grid-template-columns:1fr;width:100%}.location-actions .btn-secondary{width:100%;text-align:center}}@media(max-width:430px){.public-page{padding-left:10px;padding-right:10px;padding-top:calc(env(safe-area-inset-top,0px) + 84px)}.legal-page{padding-top:calc(env(safe-area-inset-top,0px) + 12px)}.legal-page .legal-main{padding-top:6px}.public-topbar{left:6px;right:6px;width:auto;border-radius:12px;padding:8px 9px}.public-brand strong{font-size:13px;letter-spacing:.5px}.public-brand span{font-size:11px}.public-nav{width:64vw;gap:5px}.public-nav a{padding:6px 9px;font-size:12px}.hero-section{padding-top:26px}.hero-stage{min-height:110vh}.hero-stage .hero-section{inset:11vh 0 auto;transform:none;opacity:1}.hero-section h1{font-size:clamp(1.8rem,9.4vw,2.4rem);line-height:1.04;max-width:100%}.hero-subtitle{font-size:.96rem;line-height:1.45;max-width:100%}.hero-badges{gap:6px}.hero-badges span{font-size:12px;padding:6px 10px}.hero-center-cta-wrap{align-items:start;padding-top:54vh}.hero-center-cta{width:min(100%,332px);max-width:332px;font-size:1rem;padding:12px 18px}.hero-actions{display:grid;grid-template-columns:1fr;width:100%}.hero-actions .btn-primary,.hero-actions .btn-secondary{width:100%}.service-accordion-panel,.steps-grid,.trust-section{grid-template-columns:1fr}.booking-page .booking-slots-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.service-accordion-summary{align-items:flex-start;flex-direction:column}.section-header h2{font-size:1.45rem}.faq-item{padding:12px}.faq-item summary{font-size:.96rem}.final-cta-section{padding:16px}}.admin-root{box-sizing:border-box}.admin-root *,.admin-root *:before,.admin-root *:after{box-sizing:inherit}.admin-root button,.admin-root input,.admin-root select,.admin-root textarea{transition:box-shadow .14s ease,border-color .14s ease,transform .14s ease,background-color .14s ease}.admin-root button:focus-visible,.admin-root input:focus-visible,.admin-root select:focus-visible,.admin-root textarea:focus-visible{outline:none;border-color:#c9a34a!important;box-shadow:0 0 0 3px #c9a34a47}.admin-data-table{width:100%;border-collapse:collapse}.admin-data-table tbody tr{transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease}.admin-data-table tbody tr:hover{background:#343942;box-shadow:inset 2px 0 #c9a34a}.admin-data-table tbody tr:hover td{color:#fff}.admin-data-table tbody tr:last-child td{border-bottom:none}.admin-cell-main{font-weight:650;color:#f6f7f9;line-height:1.32}.admin-cell-subtext{margin-top:4px;font-size:12px;color:#c5c9d2;line-height:1.48}.admin-data-table tbody tr:hover .admin-cell-subtext{color:#e2e5eb}.admin-modal-backdrop{animation:modal-backdrop-fade-in .17s ease;overflow-x:hidden;overscroll-behavior:contain}.admin-modal-panel{max-height:min(88vh,820px);max-width:calc(100vw - 32px);overflow-x:hidden;overflow-y:auto;animation:modal-panel-enter .21s cubic-bezier(.2,.8,.2,1)}.reservation-modal-form{width:100%;min-width:0}.reservation-modal-form>*{min-width:0}.reservation-modal-form input,.reservation-modal-form select{width:100%;min-width:0;max-width:100%}.admin-modal-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;flex-wrap:wrap}@media(max-width:900px){.calendar-header-top{gap:12px!important}.calendar-header-top .calendar-header-right{order:2}.calendar-header-top .calendar-controls-left{order:1}.calendar-header-title{width:100%}.calendar-header-right{width:100%;justify-items:stretch!important}.calendar-payments-row{justify-content:stretch!important}.calendar-payments-grid{max-width:none!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.calendar-controls-row{flex-direction:column;align-items:stretch!important;gap:10px!important}.calendar-controls-left,.calendar-controls-right{width:100%}.calendar-controls-right{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-control-field,.calendar-action-button{width:100%}}@media(max-width:520px){.calendar-controls-right{grid-template-columns:1fr}}@keyframes modal-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-panel-enter{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.admin-modal-backdrop{padding:8px!important;align-items:center}.admin-modal-panel{width:min(420px,calc(100vw - 16px))!important;max-width:min(420px,calc(100vw - 16px))!important;border-radius:14px;padding:14px!important;max-height:92vh}.admin-modal-panel-fit{max-height:none!important;overflow-y:hidden!important}.reservation-modal-form{gap:7px!important}.reservation-modal-form select,.reservation-modal-form input{font-size:16px}.reservation-modal-form .admin-modal-form-actions{display:grid;grid-template-columns:1fr;gap:8px}.reservation-modal-form .admin-modal-form-actions button{width:100%;justify-self:stretch}}
