:root { --ink: #101421; --muted: #626b7c; --paper: #fbfcff; --line: rgba(16, 20, 33, .12); --violet: #5f1df1; --cyan: #1ccfe2; --gold: #f2b233; --red: #e93645; --deep: #17122a; --shadow: 0 22px 70px rgba(27, 22, 54, .16); } * { box-sizing: border-box; min-width: 0; } html { scroll-behavior: smooth; overflow-x: hidden; } body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background: var(--paper); overflow-x: hidden; } a { color: inherit; text-decoration: none; } img, video { max-width: 100%; display: block; } button, input, select, textarea { font: inherit; } input, select, textarea { max-width: 100%; } p, h1, h2, h3, h4, a, span { overflow-wrap: anywhere; } .numeric-frame { position: fixed; inset: 0; z-index: 19; pointer-events: none; } .top-codes { position: absolute; inset: 0 0 auto; height: 30px; overflow: hidden; border-bottom: 1px solid rgba(28, 207, 226, .22); background: linear-gradient(90deg, rgba(12, 5, 30, .78), rgba(102, 20, 230, .5), rgba(12, 5, 30, .78)); color: rgba(255,255,255,.68); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; font-weight: 800; line-height: 30px; text-shadow: 0 0 10px rgba(28,207,226,.7); } .codes-track { display: inline-flex; gap: 28px; min-width: max-content; padding-inline: 18px; animation: codesMarquee 30s linear infinite; } .codes-track span { white-space: nowrap; } @keyframes codesMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } } .site-header { position: fixed; z-index: 20; inset: 30px 0 auto; display: flex; align-items: center; gap: 22px; padding: 14px clamp(16px, 4vw, 54px); color: white; background: linear-gradient(180deg, rgba(8, 8, 18, .72), rgba(8, 8, 18, .16)); backdrop-filter: blur(12px); } .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 900; letter-spacing: 0; } .brand img { width: 42px; height: 42px; object-fit: contain; } .site-header nav { margin-left: auto; display: flex; gap: 18px; font-size: .93rem; } .site-header nav a { opacity: .9; } .site-header nav a:hover { opacity: 1; color: var(--cyan); } .header-cta { border: 1px solid rgba(255,255,255,.35); padding: 10px 14px; border-radius: 8px; font-weight: 800; } .language-toggle { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; padding: 4px; background: rgba(255,255,255,.1); backdrop-filter: blur(12px); } .language-toggle a { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 30px; border-radius: 999px; color: white; font-size: .78rem; font-weight: 950; } .language-toggle a:first-child { background: linear-gradient(135deg, var(--cyan), var(--gold)); color: #07101b; } .language-toggle a:hover { background: rgba(255,255,255,.18); } .hero { min-height: 96vh; position: relative; display: grid; align-items: end; overflow: hidden; color: white; padding: 120px clamp(18px, 5vw, 74px) 46px; } .hero-video, .hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; } .hero-video { object-fit: cover; } .hero-shade { background: radial-gradient(circle at 74% 34%, rgba(28,207,226,.26), transparent 28%), linear-gradient(90deg, rgba(9, 6, 22, .92), rgba(22, 11, 58, .62) 48%, rgba(9, 6, 22, .55)), linear-gradient(0deg, rgba(9, 6, 22, .92), transparent 52%); } .hero-content { position: relative; max-width: 960px; } .hero-logo { width: min(190px, 42vw); margin-bottom: 24px; filter: drop-shadow(0 18px 36px rgba(0,0,0,.42)); } .eyebrow, .section-kicker { text-transform: uppercase; letter-spacing: .12em; font-weight: 900; color: var(--cyan); font-size: .78rem; } h1, h2, h3, p { margin-top: 0; } h1 { font-size: clamp(2.4rem, 7vw, 6.5rem); line-height: .92; max-width: 1050px; margin-bottom: 22px; letter-spacing: 0; } .hero-copy { max-width: 760px; color: rgba(255,255,255,.88); font-size: clamp(1.05rem, 2vw, 1.35rem); line-height: 1.55; } .seo-phrases { max-width: 780px; color: rgba(255,255,255,.78); font-weight: 900; line-height: 1.5; } .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; } .button { border: 0; border-radius: 8px; padding: 13px 18px; font-weight: 900; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; } .button.primary { background: linear-gradient(135deg, var(--cyan), var(--gold)); color: #07101b; } .button.ghost { border: 1px solid rgba(255,255,255,.36); color: white; background: rgba(255,255,255,.08); } .button.outline { border: 1px solid var(--line); color: var(--ink); background: white; } .button.danger { background: #ffe4e8; color: #9b1021; } .button.wide { width: 100%; } .hero-stats { display: flex; flex-wrap: wrap; gap: 12px; } .hero-stats span { width: min(210px, 100%); border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.1); border-radius: 8px; padding: 14px; color: rgba(255,255,255,.78); } .hero-stats strong { display: block; color: white; font-size: 1.4rem; } .intro-band { display: grid; grid-template-columns: minmax(260px, .9fr) minmax(280px, 1fr); gap: clamp(24px, 5vw, 72px); padding: clamp(44px, 7vw, 90px) clamp(18px, 5vw, 74px); background: var(--deep); color: white; } .intro-band h2, .section-heading h2 { font-size: clamp(2rem, 4.5vw, 4rem); line-height: 1; letter-spacing: 0; } .intro-band p:last-child { color: rgba(255,255,255,.78); line-height: 1.75; font-size: 1.08rem; } .section, .media-strip, .admin-section { padding: clamp(48px, 7vw, 96px) clamp(18px, 5vw, 74px); } .section-heading { max-width: 930px; margin-bottom: 32px; } .section-heading.compact { max-width: 720px; } .section-heading p { color: var(--muted); line-height: 1.6; } .benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .benefit-grid article, .recommendation-grid article, .appointment-panel, .calendar-wrap, .location-card, .review-card, .video-card, .practitioner-card, .product-card, .admin-shell { border: 1px solid var(--line); background: white; border-radius: 8px; box-shadow: 0 12px 35px rgba(17, 24, 39, .06); } .benefit-grid article { padding: 24px; min-height: 280px; } .benefit-grid span { color: var(--red); font-weight: 900; } .benefit-grid h3 { font-size: 1.35rem; margin: 18px 0 12px; } .benefit-grid p { color: var(--muted); line-height: 1.65; } .recommendations-section { background: #f7fbff; } .recommendation-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .recommendation-grid article { padding: 24px; border-top: 5px solid var(--cyan); } .recommendation-grid article:nth-child(n+3) { border-top-color: var(--gold); } .recommendation-grid span { display: inline-flex; border-radius: 999px; padding: 6px 10px; margin-bottom: 12px; color: white; background: var(--deep); font-weight: 900; text-transform: uppercase; font-size: .78rem; } .recommendation-grid p { color: var(--muted); line-height: 1.7; } .certifications-section { background: #f7f9fc; } .certification-intro { display: grid; grid-template-columns: minmax(280px, 1fr) 320px; gap: clamp(20px, 4vw, 46px); align-items: center; margin-bottom: 26px; } .certification-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; } .association-badge { border: 1px solid var(--line); border-radius: 8px; background: white; padding: 20px; box-shadow: 0 12px 35px rgba(17, 24, 39, .06); text-align: center; } .association-badge img { width: min(210px, 70%); margin: 0 auto 12px; filter: drop-shadow(0 14px 24px rgba(17,24,39,.16)); } .association-badge p { margin: 0; color: var(--muted); font-weight: 800; line-height: 1.45; } .certification-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } .certification-grid figure { margin: 0; border: 1px solid var(--line); border-radius: 8px; background: white; overflow: hidden; box-shadow: 0 12px 35px rgba(17, 24, 39, .06); } .certification-grid img { width: 100%; height: 280px; object-fit: contain; padding: 12px; background: #fff; } .certification-grid figcaption { padding: 12px 16px; border-top: 1px solid var(--line); color: var(--ink); font-weight: 900; } .media-strip { background: #eef9fb; } .gallery { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-auto-rows: 250px; gap: 14px; } .gallery figure { margin: 0; position: relative; overflow: hidden; border-radius: 8px; background: #d9e6ef; } .gallery figure:first-child { grid-row: span 2; } .gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; } .gallery figure:hover img { transform: scale(1.04); } .gallery figcaption { position: absolute; inset: auto 12px 12px; color: white; font-weight: 900; text-shadow: 0 2px 12px rgba(0,0,0,.8); } .presentation-carousel-section { padding: clamp(54px, 8vw, 104px) clamp(18px, 5vw, 74px); color: white; background: radial-gradient(circle at 18% 10%, rgba(242,178,51,.22), transparent 30%), radial-gradient(circle at 80% 16%, rgba(28,207,226,.18), transparent 26%), linear-gradient(135deg, #080611, #211044 55%, #070915); overflow: hidden; } .presentation-carousel-section .section-heading p { color: rgba(255,255,255,.7); } .presentation-carousel { position: relative; max-width: 1180px; margin: 0 auto; padding: 0 clamp(0px, 5vw, 58px) 48px; } .presentation-stage { position: relative; min-height: clamp(420px, 74vw, 820px); perspective: 1400px; } .presentation-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 18px; align-items: stretch; opacity: 0; transform: translateX(7%) scale(.94) rotateY(-7deg); transition: opacity .55s ease, transform .65s ease; pointer-events: none; } .presentation-slide.active { opacity: 1; transform: translateX(0) scale(1) rotateY(0); pointer-events: auto; } .presentation-slide img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); box-shadow: 0 34px 110px rgba(0,0,0,.46); } .presentation-caption { position: static; align-self: center; display: grid; gap: 10px; min-height: 220px; max-width: none; padding: 22px; border-radius: 8px; background: rgba(9,7,18,.78); border: 1px solid rgba(255,255,255,.18); backdrop-filter: blur(12px); } .presentation-caption span { color: var(--cyan); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; } .presentation-caption h3 { margin: 0; font-size: clamp(1.2rem, 2.2vw, 2rem); line-height: 1.05; } .presentation-caption p { margin: 0; color: rgba(255,255,255,.78); font-weight: 800; } .carousel-control { position: absolute; z-index: 3; top: 45%; width: 48px; height: 62px; border: 1px solid rgba(255,255,255,.22); border-radius: 8px; background: rgba(255,255,255,.12); color: white; font-size: 2.6rem; line-height: 1; cursor: pointer; backdrop-filter: blur(10px); } .carousel-control.prev { left: 0; } .carousel-control.next { right: 0; } .presentation-dots { position: absolute; inset: auto 0 0; display: flex; justify-content: center; gap: 9px; } .presentation-dots button { width: 34px; height: 7px; border: 0; border-radius: 999px; background: rgba(255,255,255,.35); cursor: pointer; } .presentation-dots button.active { background: linear-gradient(90deg, var(--cyan), var(--gold)); width: 54px; } .empty-carousel { min-height: 260px; display: grid; place-items: center; border: 1px dashed rgba(255,255,255,.24); border-radius: 8px; color: rgba(255,255,255,.76); } .scheduler { display: grid; grid-template-columns: 360px 1fr; gap: 18px; align-items: start; } .appointment-panel, .calendar-wrap { padding: 22px; } label { display: grid; gap: 7px; font-weight: 800; color: #30384a; } input, select, textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 12px 13px; background: white; color: var(--ink); } form { display: grid; gap: 14px; } .price-tag { margin: 16px 0 0; color: var(--muted); } .calendar-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; } .calendar-toolbar h3 { margin: 0; font-size: 1.45rem; } .icon-button { width: 44px; height: 44px; border-radius: 8px; border: 1px solid var(--line); background: white; font-size: 1.7rem; cursor: pointer; } .calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; } .calendar-weekdays { margin: 20px 0 8px; color: var(--muted); font-weight: 900; text-align: center; } .day { min-height: 104px; border: 1px solid var(--line); border-radius: 8px; padding: 9px; background: #fff; } .day.muted { opacity: .34; } .day-number { font-weight: 900; margin-bottom: 6px; } .slot-pill { display: block; width: 100%; text-align: left; border: 0; border-radius: 7px; background: #e8fbfd; color: #063e48; font-size: .78rem; padding: 6px; margin-top: 5px; cursor: pointer; } .locations, .review-images, .video-testimonials, .practitioners { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .location-card { overflow: hidden; } .map-sketch { min-height: 160px; position: relative; display: block; background: #eaf4f7; overflow: hidden; } .map-sketch img { width: 100%; height: 100%; min-height: 160px; object-fit: cover; transition: transform .35s ease; } .location-card:hover .map-sketch img { transform: scale(1.04); } .location-office { position: absolute; left: 12px; bottom: 12px; z-index: 2; display: inline-flex; align-items: center; min-height: 36px; border-radius: 999px; padding: 8px 14px; color: white; background: linear-gradient(90deg, var(--purple), var(--cyan)); box-shadow: 0 14px 34px rgba(30, 10, 80, .32); font-weight: 950; letter-spacing: 0; text-transform: uppercase; } .location-card .body, .practitioner-card { padding: 20px; } .location-card p, .practitioner-card p { color: var(--muted); line-height: 1.6; } .office-line { display: inline-flex; width: fit-content; border-radius: 7px; padding: 7px 10px; color: white !important; background: var(--purple); font-weight: 950; text-transform: uppercase; } .map-link { color: var(--violet); font-weight: 900; } .testimonials-section { background: var(--deep); color: white; } .testimonials-section .section-heading p { color: rgba(255,255,255,.7); } .review-card { margin: 0; overflow: hidden; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.14); } .review-card img { display: block; width: 100%; height: auto; object-fit: contain; } .review-card figcaption { padding: 12px 16px; color: rgba(255,255,255,.78); font-weight: 800; } .video-testimonials-section { background: #eef9fb; } .video-testimonials { grid-template-columns: repeat(3, minmax(0, 1fr)); } .video-card { overflow: hidden; background: white; } .video-card video { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; background: #090712; } .video-card div { padding: 18px; } .video-card h3 { margin-bottom: 8px; } .video-card p { color: var(--muted); margin-bottom: 0; } .practitioner-card img { width: 100%; aspect-ratio: 1 / .78; object-fit: cover; border-radius: 8px; margin-bottom: 14px; background: #eef2f7; } .shop-preview { background: linear-gradient(135deg, rgba(28,207,226,.12), rgba(255,194,64,.16)), #fff; } .page-hero { padding: 170px clamp(18px, 5vw, 74px) 70px; color: white; background: radial-gradient(circle at 78% 22%, rgba(28,207,226,.28), transparent 32%), linear-gradient(135deg, #090712, #2a1166 58%, #05050a); } .page-hero .section-heading p { color: rgba(255,255,255,.78); } .page-hero h1 { font-size: clamp(2.2rem, 6vw, 5rem); line-height: .96; } .product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .product-card { overflow: hidden; } .product-card img { width: 100%; aspect-ratio: 1.2 / .82; object-fit: cover; background: #edf4f8; } .product-card div { padding: 18px; display: grid; gap: 10px; } .product-card p { color: var(--muted); line-height: 1.6; margin: 0; } .product-card strong { color: var(--violet); font-size: 1.45rem; } .empty-products { padding: 22px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--muted); font-weight: 800; } .privacy-content { max-width: 980px; margin: 0 auto; display: grid; gap: 16px; } .privacy-content article { border: 1px solid var(--line); border-radius: 8px; padding: 22px; background: white; } .privacy-content p { color: var(--muted); line-height: 1.75; } .privacy-note { border-radius: 8px; padding: 18px; background: #eef9fb; font-weight: 800; } .admin-section { background: #090712; padding-top: 26px; } .admin-page { background: #090712; } .admin-page-header { position: static; background: #090712; border-bottom: 1px solid rgba(255,255,255,.12); } .admin-standalone { min-height: calc(100vh - 78px); } .admin-shell { padding: clamp(20px, 4vw, 36px); } .admin-heading { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; align-items: center; color: white; } .admin-heading img { width: 28px; height: 28px; grid-row: span 3; } .admin-heading h1, .admin-heading h2 { font-size: clamp(1.15rem, 2.5vw, 1.7rem); line-height: 1.15; margin: 0 0 8px; } .admin-heading p:last-child { color: rgba(255,255,255,.68); } .admin-login { max-width: 440px; border: 1px solid var(--line); padding: 18px; border-radius: 8px; background: white; margin-bottom: 18px; } .admin-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; } .tab { border: 1px solid var(--line); background: white; border-radius: 8px; padding: 10px 13px; cursor: pointer; font-weight: 900; } .tab.active { background: var(--deep); color: white; } .admin-panel { display: none; } .admin-panel.active { display: grid; gap: 16px; } .admin-panels.locked { display: none; } .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .admin-list { display: grid; gap: 8px; margin-top: 8px; } .admin-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; border: 1px solid var(--line); border-radius: 8px; padding: 10px; background: white; } .admin-row-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; } .small-button { border: 0; border-radius: 7px; padding: 8px 10px; background: #f0f2f7; cursor: pointer; font-weight: 800; } .small-button.danger { background: #ffe9e9; color: #9f1d1d; } .protected-media { -webkit-user-drag: none; user-select: none; -webkit-touch-callout: none; } .backup-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; } .import-label { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border-radius: 8px; padding: 12px 18px; background: white; border: 1px solid var(--line); cursor: pointer; } .import-label input { display: none; } #backupText { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; } .admin-status { color: var(--muted); font-weight: 800; } .site-footer { padding: 28px clamp(18px, 5vw, 74px); background: #090712; color: white; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 20px; align-items: center; overflow: hidden; } .site-footer img { width: 64px; } .footer-links { display: flex; gap: 16px; font-weight: 900; color: var(--cyan); } .footer-copy { width: 100%; order: 3; margin: 0; color: rgba(255,255,255,.68); font-weight: 800; } .footer-codes { width: 100%; order: 4; margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); overflow: hidden; color: rgba(255,255,255,.72); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .86rem; font-weight: 800; white-space: nowrap; } .footer-codes-track { display: inline-flex; gap: 24px; min-width: max-content; animation: footerCodesMarquee 28s linear infinite; } .footer-codes span { display: inline-flex; } @keyframes footerCodesMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } } .admin-lock-link { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; } .admin-lock-link img { width: 22px; height: 22px; } @media (max-width: 1050px) { .benefit-grid, .recommendation-grid, .locations, .review-images, .video-testimonials, .practitioners, .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .scheduler, .intro-band, .certification-intro { grid-template-columns: 1fr; } .presentation-slide { grid-template-columns: 1fr; align-content: start; } .presentation-caption { align-self: auto; min-height: auto; } } @media (max-width: 760px) { .top-codes { height: 26px; line-height: 26px; font-size: .68rem; } .site-header { position: absolute; flex-wrap: wrap; gap: 10px; } .site-header nav { order: 3; width: 100%; overflow-x: auto; margin-left: 0; padding-bottom: 4px; } .header-cta { margin-left: auto; } .language-toggle { margin-left: 0; } .hero { padding-top: 170px; min-height: 100vh; } .presentation-carousel { padding-inline: 0; } .presentation-stage { min-height: 560px; } .presentation-caption { margin-top: 12px; max-width: none; } .presentation-slide { align-content: start; } .presentation-slide img { height: auto; aspect-ratio: 2 / 3; } .carousel-control { top: 230px; width: 40px; height: 52px; font-size: 2rem; } .gallery, .benefit-grid, .recommendation-grid, .locations, .review-images, .video-testimonials, .practitioners, .product-grid, .form-grid, .certification-grid { grid-template-columns: 1fr; } .certification-grid img { height: 240px; } .gallery { grid-auto-rows: 280px; } .gallery figure:first-child { grid-row: auto; } .calendar-weekdays, .calendar-grid { gap: 5px; } .day { min-height: 86px; padding: 6px; } .slot-pill { font-size: .68rem; } .admin-row { grid-template-columns: 1fr; } .admin-row-actions { justify-content: flex-start; } .site-footer { flex-direction: column; align-items: flex-start; } } .appointment-toolbar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;gap:12px;align-items:end;margin:18px 0}.appointment-toolbar label{display:grid;gap:7px;font-size:.82rem;font-weight:900;color:#52635d}.appointment-toolbar input,.appointment-toolbar select{width:100%;min-height:46px;border:1px solid #cbd7d0;border-radius:10px;padding:10px 12px;background:#fff;font:inherit;color:#173a33}.appointment-toolbar .button{min-height:46px;white-space:nowrap}.admin-hint{margin:0 0 18px;color:#66756f}.appointment-list{gap:18px}.appointment-card{padding:0;overflow:hidden;border-radius:18px;box-shadow:0 9px 28px rgba(20,57,49,.06)}.appointment-card>header{padding:18px 20px;background:#f6f9f7;border-bottom:1px solid rgba(34,76,68,.11);align-items:flex-start}.appointment-card>header h4{margin:5px 0 2px;font-size:1.25rem}.appointment-card>header p{margin:0;color:#697870}.appointment-date{font-weight:900;color:#173e36}.appointment-badges{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.status-badge,.payment-badge,.appointment-code{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:900}.status-badge{background:#dff2e5;color:#17653c}.status-cancelled .status-badge,.status-no_show .status-badge{background:#fde6e4;color:#9f2c2c}.status-completed .status-badge{background:#e4ebf8;color:#294f87}.payment-badge{background:#fff1cf;color:#78500d}.appointment-code{background:#e8eeea;color:#334b43}.appointment-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 20px}.appointment-quick span{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere}.appointment-quick small{color:#718079;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.patient-sheet,.record-panel{margin:0!important;border-top:1px solid rgba(34,76,68,.11);padding:0 20px}.patient-sheet summary,.record-panel summary{padding:16px 0;list-style:none}.patient-sheet summary::-webkit-details-marker,.record-panel summary::-webkit-details-marker{display:none}.patient-sheet summary:after,.record-panel summary:after{content:'+';float:right;font-size:1.25rem}.patient-sheet[open] summary:after,.record-panel[open] summary:after{content:'−'}.sheet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:12px}.sheet-grid section{background:#f6f8f6;border-radius:12px;padding:14px}.sheet-grid .wide{grid-column:1/-1}.sheet-grid h5{margin:0 0 8px}.sheet-grid p{margin:5px 0;white-space:pre-wrap}.file-links{padding-bottom:17px}.file-links a{font-weight:800;color:#174f43;border:1px solid #d6e2db}.appointment-management{display:flex;flex-wrap:wrap;gap:12px;align-items:end;padding:16px 20px;border-top:1px solid rgba(34,76,68,.11)}.appointment-management label{display:grid;gap:5px;font-size:.78rem;font-weight:900}.appointment-management select{min-height:42px;border:1px solid #cbd7d0;border-radius:9px;padding:8px 34px 8px 10px;background:#fff}.record-panel{background:#fbfcfb}.record-panel form{padding-bottom:20px}.record-panel textarea,.record-panel input{width:100%;border:1px solid #cbd7d0;border-radius:10px;padding:11px;background:#fff;font:inherit}.record-panel .button{margin-top:14px}.record-saved{display:inline-block;margin-left:12px;color:#39745b;font-weight:800}.empty-appointments{display:grid;gap:5px;text-align:center;padding:45px 20px;border:1px dashed #bdccc3;border-radius:16px;color:#66756f}.empty-appointments strong{color:#173e36;font-size:1.08rem}.history-modal{width:min(760px,calc(100% - 28px));max-height:88vh;border:0;border-radius:20px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.28);color:#173a33}.history-modal::backdrop{background:rgba(9,26,22,.62);backdrop-filter:blur(3px)}.history-close{position:absolute;right:15px;top:12px;border:0;background:#edf2ef;width:38px;height:38px;border-radius:50%;font-size:1.55rem;cursor:pointer}.history-content h2{margin:2px 0}.history-timeline{display:grid;gap:14px;margin-top:22px}.history-timeline article{border-left:4px solid #bf9145;background:#f5f8f6;border-radius:0 13px 13px 0;padding:16px}.history-timeline article small{display:block;color:#718079;margin-top:4px}.history-timeline article h4{margin:14px 0 3px}.history-timeline article p{white-space:pre-wrap;margin:0} @media (max-width:1100px){.appointment-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-toolbar .button{width:100%}} @media (max-width:680px){.appointment-toolbar,.appointment-quick,.sheet-grid{grid-template-columns:1fr}.appointment-toolbar .button{justify-content:center}.appointment-card>header{display:grid}.appointment-badges{justify-content:flex-start}.sheet-grid .wide{grid-column:auto}.appointment-management{align-items:stretch}.appointment-management>*{width:100%}.record-saved{display:block;margin:9px 0 0}.history-modal{padding:24px 18px}.appointment-card>header,.appointment-quick,.appointment-management{padding-left:15px;padding-right:15px}.patient-sheet,.record-panel{padding-left:15px;padding-right:15px}} .privacy-page{background:#f4f7f5;color:#173a33}.privacy-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(23,58,51,.1)}.privacy-cover{padding:clamp(150px,15vw,205px) clamp(20px,6vw,90px) clamp(60px,8vw,105px);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:clamp(35px,7vw,95px);align-items:center;background:radial-gradient(circle at 85% 15%,rgba(45,201,204,.14),transparent 28%),linear-gradient(135deg,#edf5f1,#fff 62%)}.privacy-cover h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.94;max-width:900px;margin:.12em 0 .22em;letter-spacing:-.045em}.privacy-lead{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.65;max-width:750px;color:#52665f}.privacy-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}.privacy-version{font-size:.82rem;font-weight:800;color:#72827c}.privacy-responsible{background:#173e36;color:#fff;border-radius:28px;padding:clamp(26px,4vw,44px);box-shadow:0 24px 60px rgba(17,56,48,.2)}.privacy-responsible>span{color:#5edce0;text-transform:uppercase;letter-spacing:.13em;font-size:.75rem;font-weight:900}.privacy-responsible h2{font-size:clamp(1.5rem,2.7vw,2.35rem);margin:10px 0}.privacy-responsible>p{color:rgba(255,255,255,.72)}.privacy-responsible dl{display:grid;gap:18px;margin:28px 0 0}.privacy-responsible dl div{border-top:1px solid rgba(255,255,255,.17);padding-top:15px}.privacy-responsible dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#d9b56f;font-weight:900}.privacy-responsible dd{margin:6px 0 0;line-height:1.55}.privacy-responsible a{color:#fff;text-decoration:underline;text-underline-offset:3px}.privacy-summary{background:#fff}.privacy-summary .section-heading{max-width:830px}.privacy-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:35px}.privacy-summary-grid article{border:1px solid rgba(23,58,51,.12);border-radius:18px;padding:24px;background:#fbfdfc}.privacy-summary-grid article>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#173e36;color:#fff;font-size:.78rem;font-weight:900}.privacy-summary-grid h3{margin:18px 0 9px}.privacy-summary-grid p{margin:0;color:#64746e;line-height:1.65}.privacy-arco{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(35px,7vw,90px);align-items:center}.privacy-arco h2,.privacy-document h2,.privacy-contact h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.25em 0}.privacy-arco>div>p{font-size:1.05rem;line-height:1.72;color:#596c65}.arco-request{background:#fff;border-radius:22px;padding:clamp(24px,4vw,40px);box-shadow:0 18px 45px rgba(23,58,51,.08)}.arco-request h3{margin-top:0}.arco-request ol{padding-left:22px;display:grid;gap:12px;color:#586a63}.text-link{display:inline-block;margin-top:18px;font-weight:900;color:#17675b}.privacy-document{background:#e9f0ec}.privacy-document-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.privacy-document-heading>div{max-width:780px}.privacy-document-heading p{color:#5f7069}.pdf-viewer-shell{height:min(78vh,900px);min-height:620px;background:#22332e;border:10px solid #fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 55px rgba(23,58,51,.16)}.pdf-viewer-shell object{width:100%;height:100%;display:block}.pdf-fallback{height:100%;display:grid;place-content:center;text-align:center;padding:30px;background:#fff}.privacy-contact{display:flex;justify-content:space-between;gap:35px;align-items:center;background:#173e36;color:#fff}.privacy-contact>div{max-width:780px}.privacy-contact p:not(.section-kicker){color:rgba(255,255,255,.72)}.privacy-contact .button{background:#fff;color:#173e36;white-space:nowrap}.privacy-page .site-footer{border-top:0} @media (max-width:1000px){.privacy-cover,.privacy-arco{grid-template-columns:1fr}.privacy-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.privacy-responsible{max-width:720px}.privacy-document-heading{align-items:flex-start;flex-direction:column}} @media (max-width:680px){.privacy-cover{padding-top:175px}.privacy-cover h1{font-size:clamp(2.75rem,15vw,4.6rem)}.privacy-summary-grid{grid-template-columns:1fr}.privacy-actions .button{width:100%;justify-content:center}.privacy-document{padding-left:12px;padding-right:12px}.pdf-viewer-shell{height:72vh;min-height:480px;border-width:5px;border-radius:14px}.privacy-contact{align-items:flex-start;flex-direction:column}.privacy-contact .button{width:100%;justify-content:center}} .privacy-pdf-only{min-height:100vh}.privacy-pdf-main{width:min(1400px,calc(100% - 40px));margin:0 auto;padding:clamp(145px,14vw,185px) 0 45px}.privacy-pdf-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:24px}.privacy-pdf-heading h1{font-size:clamp(2.3rem,5vw,4.7rem);line-height:1;margin:5px 0 0}.privacy-pdf-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.privacy-pdf-viewer{height:calc(100vh - 255px);min-height:650px} @media (max-width:760px){.privacy-pdf-main{width:min(100% - 24px,1400px);padding-top:175px}.privacy-pdf-heading{align-items:flex-start;flex-direction:column}.privacy-pdf-actions{width:100%;justify-content:stretch}.privacy-pdf-actions .button{width:100%;justify-content:center}.privacy-pdf-viewer{height:72vh;min-height:500px}} .schedule-form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.saved-schedules-title{margin:34px 0 4px;padding-top:28px;border-top:1px solid var(--line)}#scheduleList{display:grid;gap:12px;margin-top:16px}.saved-schedule{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid rgba(34,76,68,.16);border-radius:15px;padding:15px 16px;box-shadow:0 6px 18px rgba(23,58,51,.04)}.saved-schedule-date{display:grid;gap:4px;border-right:1px solid #dce5df;padding-right:15px}.saved-schedule-date strong{font-size:1rem;color:#173e36}.saved-schedule-date span{font-weight:900;color:#b37f2e}.saved-schedule-info h4{margin:0 0 4px}.saved-schedule-info p{margin:0;color:#596a63}.saved-schedule-info small{display:block;margin-top:5px;color:#798780}.saved-schedule-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.saved-schedule-actions .button{min-height:42px;padding:9px 14px} @media (max-width:760px){.saved-schedule{grid-template-columns:1fr}.saved-schedule-date{border-right:0;border-bottom:1px solid #dce5df;padding:0 0 11px}.saved-schedule-actions{justify-content:stretch}.saved-schedule-actions .button{flex:1;justify-content:center}} .legacy-schedule{border-color:rgba(193,149,72,.45);background:#fffdf8}.schedule-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.schedule-title-line h4{margin:0}.schedule-source{display:inline-flex;border-radius:999px;padding:4px 8px;background:#e8efeb;color:#52655e;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.legacy-schedule .schedule-source{background:#f8e8c9;color:#755016} .confirmation-page{min-height:100vh;background:radial-gradient(circle at 15% 5%,rgba(47,202,205,.15),transparent 27%),#f1f5f2;color:#173a33}.confirmation-main{width:min(1050px,calc(100% - 30px));margin:0 auto;padding:55px 0 80px}.confirmation-card{background:#fff;border:1px solid rgba(23,58,51,.1);border-radius:30px;padding:clamp(28px,6vw,68px);box-shadow:0 24px 70px rgba(23,58,51,.1);text-align:center}.confirmation-card>h1{font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.02;margin:8px auto 17px;max-width:800px}.confirmation-lead{font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65;max-width:790px;margin:0 auto;color:#596b64}.confirmation-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;font-size:2.2rem;font-weight:900}.confirmation-icon.success{background:#dff5e6;color:#176a3e}.confirmation-icon.warning{background:#fde7e3;color:#a52e2e}.confirmation-icon.pending{background:#fff0cc;color:#8a610e}.confirmation-folio{display:inline-grid;gap:5px;margin:24px auto;background:#eff4f1;border-radius:13px;padding:13px 24px}.confirmation-folio span{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:#6d7d76}.confirmation-folio strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:1.3rem}.commitment-note{max-width:820px;margin:4px auto 30px;padding:16px 18px;border-left:4px solid #c39548;background:#fffaf0;border-radius:0 12px 12px 0;text-align:left;font-weight:700;line-height:1.6}.session-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left;margin-top:28px}.session-recommendations article{background:#f5f8f6;border-radius:18px;padding:24px}.session-recommendations article>span{font-size:.72rem;color:#b07b29;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.session-recommendations h2{margin:7px 0 14px;font-size:1.35rem}.session-recommendations ul{display:grid;gap:10px;padding-left:20px;margin:0;color:#53665f;line-height:1.5}.recommendation-note{font-size:.8rem;color:#75837e;margin:22px auto 0;max-width:800px}.confirmation-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:30px}.confirmation-loading{padding:70px 0}.confirmation-loading h1{font-size:2rem}.confirmation-spinner{display:block;width:48px;height:48px;margin:0 auto 20px;border:4px solid #d9e4de;border-top-color:#173e36;border-radius:50%;animation:confirmationSpin .8s linear infinite}@keyframes confirmationSpin{to{transform:rotate(360deg)}} @media (max-width:680px){.confirmation-main{padding-top:25px}.confirmation-card{border-radius:20px;padding:28px 18px}.session-recommendations{grid-template-columns:1fr}.confirmation-actions .button{width:100%;justify-content:center}} .ticket-limit-form{display:grid;grid-template-columns:1fr 1.4fr 1fr auto;gap:12px;align-items:end}.ticket-limit-form label{display:grid;gap:7px;font-size:.82rem;font-weight:900}.ticket-limit-form input{min-height:45px;border:1px solid #cbd7d0;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;color:#173a33}.ticket-limit-form .button{min-height:45px}.ticket-limit-list{display:grid;gap:9px;margin:18px 0 24px}.ticket-limit-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;background:#f5f8f6;border:1px solid #dce8df;border-radius:11px;padding:10px 13px}.ticket-limit-row span{color:#52675c}.ticket-limit-row button{margin-left:auto}.payment-diagnostic{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}#paymentDiagnosticResult{margin:10px 0 0;font-weight:800}.diagnostic-ok{color:#17653c}.diagnostic-error{color:#9e2d2d}.ticket-admin-number{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#173e36;color:#fff;font-size:.72rem;font-weight:900}.patient-ticket{max-width:670px;margin:27px auto 8px;background:#fff;border:2px solid #193e36;border-radius:21px;overflow:hidden;text-align:left;box-shadow:0 14px 38px rgba(22,65,53,.13)}.patient-ticket-brand{display:flex;align-items:center;gap:13px;padding:18px 22px;background:#173e36;color:#fff;font-size:1.18rem;font-weight:900}.patient-ticket-brand img{width:53px;height:53px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}.patient-ticket-brand small{display:block;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;color:#c8e2d9}.patient-ticket-number{text-align:center;font-size:clamp(4rem,13vw,6.5rem);font-weight:950;line-height:1;padding:20px 0 8px;color:#173e36}.patient-ticket-number:before{content:'FICHA';display:block;font-size:.72rem;letter-spacing:.22em;font-weight:900;color:#aa7a2e}.patient-ticket-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 25px;padding:15px 25px 25px}.patient-ticket-details div{display:grid;gap:4px}.patient-ticket-details small{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#6a7b72;font-weight:900}.patient-ticket-details strong{font-size:1rem;overflow-wrap:anywhere}.patient-ticket-footer{border-top:1px dashed #c5d5cb;padding:13px 22px;background:#f3f7f4;color:#557167;font-size:.78rem;font-weight:800;text-align:center}.ticket-print-button{border:0;background:none;color:#176a5e;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer;padding:10px 15px;margin-bottom:12px} @media(max-width:800px){.ticket-limit-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ticket-limit-form,.patient-ticket-details{grid-template-columns:1fr}.ticket-limit-row button{margin-left:0;width:100%;justify-content:center}} @media print{body.confirmation-page{background:#fff}.confirmation-page .booking-header,.confirmation-page .confirmation-icon,.confirmation-page .section-kicker,.confirmation-page .confirmation-card>h1,.confirmation-page .confirmation-lead,.confirmation-page .commitment-note,.confirmation-page .session-recommendations,.confirmation-page .recommendation-note,.confirmation-page .confirmation-actions,.confirmation-page .ticket-print-button{display:none!important}.confirmation-main{width:100%;padding:0}.confirmation-card{border:0;box-shadow:none;padding:0}.patient-ticket{margin:0;max-width:none;box-shadow:none;break-inside:avoid}} .booking-files{border:1px solid rgba(34,76,68,.22);border-radius:14px;padding:14px;display:grid;gap:10px}.booking-files legend{font-weight:800;padding:0 6px}.responsibility-box{background:#f3f7f3;border-left:4px solid #b68b43;border-radius:10px;padding:14px;font-size:.88rem;max-height:210px;overflow:auto}.consent-check{display:flex!important;align-items:flex-start;gap:9px;font-size:.85rem}.consent-check input{width:auto!important;margin-top:4px}#signatureCanvas{display:block;width:100%;height:140px;background:#fff;border:2px dashed #9aaa9e;border-radius:10px;touch-action:none}.booking-trap{position:absolute!important;left:-9999px}.booking-status{min-height:24px;font-weight:700}.booking-status.error{color:#a42828}.booking-status.success{color:#17653c;background:#eaf8ef;padding:12px;border-radius:10px}.admin-metrics{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.admin-metrics span{background:#eef4ef;border-radius:12px;padding:10px 14px}.admin-metrics strong{font-size:1.35rem}.appointment-list{display:grid;gap:12px}.appointment-card{border:1px solid rgba(34,76,68,.18);border-radius:14px;padding:14px;background:#fff}.appointment-card header{display:flex;justify-content:space-between;gap:12px}.appointment-code{font-family:monospace;background:#e8eee9;padding:3px 7px;border-radius:6px}.appointment-card details{margin:10px 0}.appointment-card summary{cursor:pointer;font-weight:700}.file-links{display:flex;gap:8px;flex-wrap:wrap}.file-links a{background:#edf4ee;border-radius:8px;padding:7px 10px}#appointmentSettings textarea{min-height:160px} .appointment-launch{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(35px,7vw,90px);align-items:center;background:linear-gradient(135deg,#f4f8f4,#fff 55%,#f7f0e4)}.appointment-launch-copy h2{max-width:700px;font-size:clamp(2.1rem,4vw,4rem);line-height:1.05;margin:.2em 0}.appointment-launch-copy>p{max-width:650px;font-size:1.08rem}.launch-benefits{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}.launch-benefits span{background:#fff;border:1px solid rgba(21,64,54,.14);border-radius:999px;padding:9px 14px;font-weight:700;font-size:.86rem}.launch-button{display:inline-flex!important;gap:16px;align-items:center;padding:16px 22px!important}.appointment-launch-card{background:#173e36;color:#fff;border-radius:28px;padding:clamp(25px,4vw,45px);box-shadow:0 24px 60px rgba(14,52,44,.18)}.appointment-launch-card h3{margin:5px 0}.appointment-launch-card p{color:rgba(255,255,255,.75);margin:0}.appointment-launch-card hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:22px 0}.launch-number{color:#d9b56f;font-weight:900;font-size:.8rem;letter-spacing:.12em} .booking-page{background:#f2f5f2;color:#173a33;min-height:100vh}.booking-header{height:78px;padding:0 clamp(20px,5vw,70px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid rgba(20,57,49,.1)}.booking-header .brand img{width:48px;height:48px}.booking-close{font-weight:800;color:#173a33}.booking-main{width:min(1080px,calc(100% - 32px));margin:0 auto;padding:55px 0}.booking-intro{text-align:center;max-width:760px;margin:0 auto 35px}.booking-intro h1{font-size:clamp(2.4rem,6vw,4.6rem);line-height:1;margin:8px 0 15px}.booking-intro>p{font-size:1.05rem}.booking-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:20px;font-size:.84rem;font-weight:700}.booking-workspace{background:#fff;border:1px solid rgba(20,57,49,.1);border-radius:28px;box-shadow:0 20px 65px rgba(23,62,54,.09);overflow:hidden}.booking-steps{display:grid;grid-template-columns:repeat(3,1fr);background:#f8faf8;border-bottom:1px solid rgba(20,57,49,.1)}.booking-step{border:0;background:transparent;padding:22px;display:flex;align-items:center;justify-content:center;gap:10px;color:#89958f}.booking-step span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e2e8e4;font-weight:900}.booking-step.active,.booking-step.complete{color:#173e36}.booking-step.active span,.booking-step.complete span{background:#173e36;color:#fff}.booking-step:disabled{cursor:default}.booking-form-step{display:none;padding:clamp(25px,5vw,58px)}.booking-form-step.active{display:block}.step-heading{display:flex;gap:18px;align-items:flex-start;margin-bottom:30px}.step-heading>span{color:#c19548;font-size:.8rem;font-weight:900;letter-spacing:.15em;padding-top:7px}.step-heading h2{font-size:clamp(1.6rem,3vw,2.5rem);margin:0}.step-heading p{margin:5px 0;color:#6e7d77}.booking-grid{display:grid;gap:18px}.booking-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid .wide{grid-column:1/-1}.booking-form-step label{display:grid;gap:8px;font-weight:800;font-size:.9rem}.booking-form-step input,.booking-form-step select,.booking-form-step textarea{width:100%;border:1px solid #cbd5cf;border-radius:11px;padding:13px 14px;background:#fff;color:#173a33;font:inherit}.booking-form-step input:focus,.booking-form-step select:focus,.booking-form-step textarea:focus{outline:3px solid rgba(193,149,72,.2);border-color:#b4873f}.booking-price{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eef4ef;border-radius:16px;padding:20px;margin-top:24px}.booking-price div{display:grid;gap:3px}.booking-price strong{font-size:1.45rem}.booking-price span{font-size:.83rem;color:#66736e}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.step-actions.end{justify-content:flex-end}.upload-panel{background:#f6f8f6;border-radius:18px;padding:22px;margin:25px 0}.upload-panel h3{margin:0}.upload-panel>p{color:#6e7d77;margin:5px 0 18px}.file-field{border:1px dashed #aab8b0;border-radius:12px;padding:14px;background:#fff}.file-field small{color:#a1682e}.responsibility-box{margin-top:25px}.signature-label{margin-top:22px}.signature-clear{border:0;background:transparent;color:#9d652d;font-weight:800;padding:8px 0;cursor:pointer}.payment-options{display:grid;gap:12px}.payment-options label{display:flex!important;align-items:flex-start;gap:14px;border:1px solid #d4ddd7;border-radius:15px;padding:18px;cursor:pointer}.payment-options label:has(input:checked){border-color:#b98a3d;background:#fffaf1;box-shadow:0 0 0 2px rgba(185,138,61,.12)}.payment-options input{width:auto;margin-top:4px}.payment-options span{display:grid;gap:4px}.payment-options small{font-weight:400;color:#697770}.booking-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dce4df;border:1px solid #dce4df;border-radius:16px;overflow:hidden;margin-bottom:25px}.booking-summary div{display:grid;gap:5px;background:#f5f8f5;padding:18px}.booking-summary small,.booking-summary span{color:#6b7973}.booking-summary strong{font-size:1rem}.receipt-field{margin-top:18px}.booking-status.result{display:grid;gap:6px;margin-top:25px}.booking-status.result strong{font-size:1.35rem}.booking-help{text-align:center;color:#6b7973;margin:25px}.booking-help a{font-weight:800} @media(max-width:760px){.appointment-launch{grid-template-columns:1fr}.booking-main{padding:30px 0}.booking-step{padding:15px 8px}.booking-step b{font-size:.76rem}.booking-grid.two,.booking-summary{grid-template-columns:1fr}.booking-price{align-items:flex-start;flex-direction:column}.booking-form-step{padding:24px 18px}.step-actions .button{flex:1;padding-inline:10px}.booking-header .brand span{display:none}} @media (max-width: 1180px) { .site-header { gap: 12px; padding-inline: 22px; } .site-header nav { gap: 12px; font-size: .84rem; } .section { padding-inline: clamp(18px, 4vw, 42px); } .admin-shell { width: min(100%, calc(100vw - 28px)); } } @media (max-width: 920px) { .site-header { flex-wrap: wrap; } .site-header nav { order: 4; width: 100%; margin-left: 0; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; padding: 5px 0; } .site-header nav a { flex: 0 0 auto; } .hero { padding-top: 150px; } .admin-tabs { overflow-x: auto; flex-wrap: nowrap; scrollbar-width: thin; } .admin-tabs .tab { flex: 0 0 auto; } .appointment-card header { flex-wrap: wrap; } .footer-links, .footer-codes { flex-wrap: wrap; } } @media (max-width: 600px) { body { font-size: 15px; } input, select, textarea { font-size: 16px!important; } .section { padding: 58px 16px; } .site-header { padding: 11px 14px; } .site-header .brand span { font-size: .92rem; } .site-header .brand img { width: 36px; height: 36px; } .header-cta { padding: 8px 10px; font-size: .78rem; } .language-toggle a { min-width: 31px; } .hero { padding-inline: 16px; padding-top: 178px; } .hero h1 { font-size: clamp(2.35rem, 12vw, 4rem); } .hero-actions, .certification-actions, .backup-actions { align-items: stretch; flex-direction: column; } .hero-actions .button, .certification-actions .button, .backup-actions .button { width: 100%; text-align: center; } .hero-stats { grid-template-columns: 1fr 1fr; } .presentation-stage { min-height: 500px; } .presentation-caption { padding: 20px 16px; } .gallery { grid-auto-rows: 230px; } .site-footer { padding-inline: 16px; } .admin-section { padding-inline: 10px; } .admin-shell { width: 100%; border-radius: 16px; } .admin-panel { padding: 18px 12px; } .admin-row-actions, .file-links { align-items: stretch; flex-direction: column; } .admin-row-actions .button, .file-links a { width: 100%; text-align: center; } .booking-header { height: 68px; padding-inline: 14px; } .booking-main { width: min(100% - 20px, 1080px); } .booking-intro h1 { font-size: 2.35rem; } .booking-trust { align-items: center; flex-direction: column; gap: 8px; } .booking-workspace { border-radius: 18px; } .booking-step { gap: 5px; flex-direction: column; } .step-heading { gap: 10px; } .step-actions { flex-direction: column-reverse; } .step-actions .button { width: 100%; } #signatureCanvas { height: 125px; } } @media (max-width: 380px) { .site-header .brand span, .language-toggle { display: none; } .hero-stats { grid-template-columns: 1fr; } .booking-step b { font-size: .68rem; } .booking-form-step { padding-inline: 13px; } } .floating-booking{position:fixed;right:clamp(14px,2.5vw,34px);bottom:clamp(14px,2.5vw,30px);z-index:80;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 13px;border:1px solid rgba(255,255,255,.45);border-radius:999px;color:#071b17;background:linear-gradient(135deg,#24ced4 0%,#64d0b0 45%,#f2b233 100%);box-shadow:0 16px 42px rgba(8,49,42,.28),0 3px 12px rgba(8,49,42,.18);font-weight:900;isolation:isolate;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.floating-booking::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.55) 45%,transparent 70%);transform:translateX(-120%);animation:bookingShine 4.5s ease-in-out infinite}.floating-booking:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 21px 50px rgba(8,49,42,.34),0 4px 14px rgba(8,49,42,.2)}.floating-booking:focus-visible{outline:4px solid rgba(28,207,226,.35);outline-offset:4px}.floating-booking-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#fff;background:#143f36;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.floating-booking-icon svg{width:21px;height:21px}.floating-booking-copy{display:grid;line-height:1.05}.floating-booking-copy small{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:4px;opacity:.7}.floating-booking-copy strong{font-size:.98rem}@keyframes bookingShine{0%,62%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}@media(max-width:600px){.floating-booking{right:12px;bottom:12px;padding:10px 15px 10px 10px}.floating-booking-icon{width:36px;height:36px}.floating-booking-copy small{display:none}.floating-booking-copy strong{font-size:.9rem}}@media(prefers-reduced-motion:reduce){.floating-booking::before{animation:none}.floating-booking{transition:none}} .booking-form-step .receipt-field[hidden]{display:none} .service-options{border:0;padding:0;margin:0 0 26px;display:grid;gap:12px;min-width:0}.service-options legend{font-size:1rem;font-weight:900;margin-bottom:12px}.booking-form-step .service-option{display:flex;align-items:flex-start;gap:14px;border:1px solid #d4ddd7;border-radius:16px;padding:18px;background:#fff;cursor:pointer;font-size:1rem}.service-option:has(input:checked){border-color:#b98a3d;background:#fffaf1;box-shadow:0 0 0 2px rgba(185,138,61,.12)}.booking-form-step .service-option input{width:auto;flex:0 0 auto;margin-top:5px}.service-option span{display:grid;gap:8px;min-width:0}.service-option b{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:1rem}.service-option em{font-style:normal;color:#946520;white-space:nowrap}.service-option small{font-size:.88rem;font-weight:400;line-height:1.55;color:#596b64}