/* Shared public identity. Loaded after each screen's existing styles. */
body.brand-site {
 --primary:#087da5; --primary-light:#69c5e5; --primary-dark:#075d7a;
 --accent:#df7900; --accent-light:#ffae42; --teal:#087da5; --teal-light:#bfe9f6;
 --pink:#df7900; --pink-light:#ffc36f; --emerald:#087da5; --emerald-light:#69c5e5;
 --navy:#142635; --navy-mid:#203c50; --navy-light:#365a70; --slate:#526574; --muted:#617483;
 --light:#edf5f8; --lighter:#f8fbfd; --border:#d8e5eb; --white:#fff;
 --brown:#142635; --brown-mid:#203c50; --gold:#df7900; --gold-light:#ffae42;
 --cream:#f8fbfd; --cream-dark:#edf5f8; --glow-purple:rgba(0,165,216,.12);
 margin:0; background:#f8fbfd; color:#142635; font-family:'Inter',Arial,sans-serif;
 -webkit-font-smoothing:antialiased;
}
/* This nav deliberately does not depend on Tailwind or Bootstrap. */
body.brand-site nav.brand-nav {
 position:sticky; top:0; z-index:100; width:100%; padding:0; margin:0;
 background:#fff!important; border:0!important; border-bottom:1px solid #d8e5eb!important;
 box-shadow:0 3px 16px #14263506!important; backdrop-filter:none!important;
 line-height:1.4; text-align:left; flex-shrink:0;
}
.brand-nav,.brand-nav * { box-sizing:border-box; }
.brand-nav .brand-nav__inner { max-width:1280px; min-height:92px; margin:0 auto; padding:12px 32px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand-nav .brand-nav__logo { display:flex; flex:0 0 auto; align-items:center; text-decoration:none; }
.brand-nav .brand-nav__logo img { display:block; width:167px; height:56px; max-width:100%; object-fit:contain; filter:none!important; opacity:1!important; mix-blend-mode:normal!important; }
.brand-nav .brand-nav__links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:6px 14px; }
.brand-nav .brand-nav__links a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 9px; border:1px solid transparent; border-radius:8px; font-family:'Inter',Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:.06em; line-height:1.4; color:#526574; -webkit-text-fill-color:currentColor; text-decoration:none; white-space:nowrap; background:none; transition:color .2s,background .2s; }
.brand-nav .brand-nav__links a:hover { color:#075d7a; background:#edf7fc; }
.brand-nav .brand-nav__links a[aria-current='page'] { color:#075d7a; background:#e5f4fa; }
.brand-nav .brand-nav__links a.brand-nav__register { background:#ffae42; color:#142635; padding:11px 17px; border-radius:24px; }
.brand-nav .brand-nav__links a.brand-nav__register:hover { background:#ffc36f; }
.brand-nav .brand-nav__links a.brand-nav__register[aria-current='page'] { border-color:#a95600; }
body.brand-site a:focus-visible,body.brand-site button:focus-visible { outline:3px solid #087da5; outline-offset:4px; }
body.brand-site .page-bg { background:radial-gradient(ellipse at 10% 10%,#dff3fc 0,transparent 55%),#f8fbfd; }
body.brand-site .section-h,body.brand-site .section-header h2 { font-family:'Inter',Arial,sans-serif; font-weight:700; letter-spacing:-.045em; }
body.brand-site .section-label,body.brand-site .section-tag { color:#087da5; background:#e5f4fa; border-color:#bfdfed; }
body.brand-site :is(.btn-gold,.btn-free-main,.btn-login,.btn-register,.btn-renovar) { background:#ffae42; color:#142635; -webkit-text-fill-color:#142635; border:1px solid #ffae42; border-radius:28px; box-shadow:none; font-weight:700; }
body.brand-site :is(.btn-gold,.btn-free-main,.btn-login,.btn-register,.btn-renovar):hover { background:#ffc36f; border-color:#ffc36f; color:#142635; box-shadow:0 6px 18px #14263514; }
body.brand-site :is(.btn-outline,.btn-outline-dark,.btn-outline-light,.btn-country) { border-radius:28px; box-shadow:none; }
body.brand-site .site-footer { background:#142635; color:#deedf5; }
body.brand-site :is(.footer-brand-name,.footer-brand) { color:#fff; font-family:'Inter',Arial,sans-serif; }
body.brand-site :is(.footer-brand-name,.footer-brand) span { background:none; -webkit-text-fill-color:#69c5e5; color:#69c5e5; }
body.brand-site :is(.footer-brand-desc,.footer-copy,.footer-contact-label) { color:#b6cedb; }
body.brand-site .footer-links a { color:#deedf5; }
body.brand-site .footer-links a:hover { color:#69c5e5; }
body.brand-site .footer-contact a { display:inline-flex; padding:12px 20px; border-radius:10px; background:#ffae42; background-clip:border-box; -webkit-background-clip:border-box; color:#142635; -webkit-text-fill-color:#142635; font-size:clamp(1rem,3vw,1.25rem); font-weight:700; text-decoration:none; }
body.brand-site .footer-contact a:hover { background:#ffc36f; filter:none; }
body.brand-site .trial-btn { border:1px solid #c8dce6; border-radius:40px; box-shadow:0 8px 28px #1426351a; }
body.brand-site .trial-icon { background:#087da5; box-shadow:none; animation:none; }
/* Pricing */
body.brand-pricing .hero { background:#f0f8fc; padding:72px 24px; animation:none; }
body.brand-pricing .hero::before,body.brand-pricing .hero::after { background:none; animation:none; }
body.brand-pricing .hero h1 { background:none; color:#142635; -webkit-text-fill-color:#142635; font-family:'Inter',Arial,sans-serif; font-weight:800; letter-spacing:-.055em; }
body.brand-pricing .hero h1 em { background:none; color:#087da5; -webkit-text-fill-color:#087da5; }
body.brand-pricing .hero p { color:#526574; }
body.brand-pricing .hero-label { background:#fff0d9; border-color:#efc993; color:#925000; }
body.brand-pricing .btn-country { color:#087da5; background:#fff; border-color:#bfdfed; }
body.brand-pricing .btn-country:hover { background:#e0f2fa; }
body.brand-pricing .plan-card { background:#fff; border:1px solid #d8e5eb; border-radius:18px; box-shadow:0 8px 30px #14263506; backdrop-filter:none; }
body.brand-pricing .plan-card:hover { border-color:#8abed3; box-shadow:0 14px 32px #14263510; transform:translateY(-4px); }
body.brand-pricing .plan-card::before { background:#00a5d8; }
body.brand-pricing .plan-name { color:#142635; }
body.brand-pricing .plan-price :is(.currency,.amount) { background:none; color:#087da5; -webkit-text-fill-color:#087da5; }
body.brand-pricing .plan-price .period,body.brand-pricing .plan-features li { color:#526574; }
body.brand-pricing .plan-features li::before { color:#087da5; }
body.brand-pricing .plan-divider { background:#d8e5eb; }
body.brand-pricing .plan-btn { color:#142635; background:#ffae42; border-color:#ffae42; border-radius:28px; }
body.brand-pricing .plan-btn:hover { background:#ffc36f; box-shadow:none; }
body.brand-pricing .free-price { background:none; color:#087da5; -webkit-text-fill-color:#087da5; }
body.brand-pricing .free-banner-box { border-color:#c8dce6; border-radius:18px; box-shadow:none; }
body.brand-pricing .cta-section { background:#142635; }
body.brand-pricing .cta-section::before { background:none; }
body.brand-pricing .cta-section h2 { background:none; color:#fff; -webkit-text-fill-color:#fff; }
body.brand-pricing .cta-section p { color:#b6cedb; }
/* Registration, login and password recovery */
body.brand-auth { background:#f8fbfd; }
body.brand-auth .glass-card { background:#fff; border:1px solid #d8e5eb; border-radius:20px; box-shadow:0 16px 45px #1426350a; backdrop-filter:none; }
body.brand-auth :is(.grotesk,.serif-title) { font-family:'Inter',Arial,sans-serif; letter-spacing:-.045em; }
body.brand-auth h2 { background:none!important; color:#142635!important; -webkit-text-fill-color:#142635!important; }
body.brand-auth .input-minimal { background:#f8fbfd; border:1px solid #c8dce6; border-radius:10px; padding:12px 14px; color:#142635; }
body.brand-auth .input-minimal:focus { border-color:#087da5; outline:3px solid #00a5d822; outline-offset:1px; box-shadow:none; }
body.brand-auth .input-minimal::placeholder { color:#617483; opacity:1; }
body.brand-auth :is(.link-primary,.text-custom-gold,.text-nav-gold) { color:#087da5; }
body.brand-auth .text-custom-brown { color:#142635; }
body.brand-auth .bg-custom-brown { background:#ffae42; color:#142635; box-shadow:none; }
body.brand-auth .divider-gradient { background:#d8e5eb; }
body.brand-auth :is(.float-usd-btn,.float-ars-btn) { background:#142635; color:#fff; box-shadow:0 6px 20px #14263522; border-color:#365a70; }
body.brand-auth .error-box { background:#fff0ed; color:#9e3024; border-color:#f1c5bc; }
body.brand-auth .success-box { background:#eaf6ef; color:#23613b; border-color:#b9dbc6; }
/* Blog listing and articles (their inline styles appear after the shared header). */
body.brand-editorial :is(.blog-hero,.post-hero) { background:#142635; animation:none; }
body.brand-editorial :is(.blog-hero,.post-hero)::before,body.brand-editorial :is(.blog-hero,.post-hero)::after { background:none; animation:none; }
body.brand-editorial :is(.blog-hero,.post-hero) h1 { background:none; color:#fff; -webkit-text-fill-color:#fff; font-family:'Inter',Arial,sans-serif; font-weight:800; letter-spacing:-.045em; }
body.brand-editorial :is(.blog-hero p,.post-meta) { color:#b6cedb; }
body.brand-editorial :is(.blog-eyebrow,.post-breadcrumb a,.post-meta span) { color:#69c5e5; }
body.brand-editorial .blog-eyebrow { background:#203c50; border-color:#365a70; }
body.brand-editorial :is(.post-card,.rel-card) { border-color:#d8e5eb; border-radius:16px; box-shadow:none; }
body.brand-editorial :is(.post-card,.rel-card):hover { border-color:#8abed3; box-shadow:0 12px 30px #1426350d; }
body.brand-editorial :is(.post-card-title,.rel-card-title,.post-content h2,.post-content h3) { color:#142635; font-family:'Inter',Arial,sans-serif; }
body.brand-editorial :is(.post-card:hover .post-card-title,.rel-card:hover .rel-card-title,.post-card-link,.post-content a,.post-back) { color:#087da5; }
body.brand-editorial :is(.post-card-date,.rel-card-date) { color:#617483; }
body.brand-editorial .post-content { color:#405e70; }
body.brand-editorial :is(.related-section,.blog-cta) { background:#edf5f8; }
body.brand-editorial .post-cta { background:#142635; }
body.brand-editorial .post-cta::before { background:none; }
body.brand-editorial .post-cta p { color:#c4dce8; }
body.brand-editorial .post-cta .btn-gold { background:#ffae42; color:#142635; -webkit-text-fill-color:#142635; box-shadow:none; }
body.brand-editorial :is(.page-btn,.pagination a) { color:#087da5; border-color:#bfdfed; }
body.brand-editorial :is(.page-btn.active,.pagination .active) { background:#087da5; color:#fff; }
/* Restaurant information landing */
body.brand-landing .hero { background:#f0f8fc; animation:none; }
body.brand-landing :is(.hero-bg,.hero-lines) { background:none; }
body.brand-landing .hero h1 { background:none; color:#142635; -webkit-text-fill-color:#142635; font-family:'Inter',Arial,sans-serif; font-weight:800; letter-spacing:-.055em; }
body.brand-landing .hero h1 :is(em,span) { background:none; color:#087da5; -webkit-text-fill-color:#087da5; }
body.brand-landing :is(.hero-sub,.hero-trust,.hero-divider) { color:#526574; }
body.brand-landing .hero-eyebrow { background:#fff0d9; border-color:#efc993; color:#925000; }
body.brand-landing .hero .btn-outline { color:#087da5; border-color:#8abed3; }
body.brand-landing :is(.features-section,.cta-section,.cta-final) { background:#142635; }
body.brand-landing :is(.features-section,.cta-section,.cta-final) .section-p { color:#c4dce8; }
body.brand-landing :is(.feat,.feature-card) { background:#203c50; border-color:#365a70; border-radius:16px; }
body.brand-landing :is(.feat-desc,.feature-desc) { color:#c4dce8; }
body.brand-landing :is(.feat-icon,.feature-icon,.step-icon) { background:#e0f2fa!important; color:#087da5; box-shadow:none; }
body.brand-landing :is(.step-card,.faq-item) { background:#fff; border-color:#d8e5eb; border-radius:14px; }
body.brand-landing :is(.qr-card,.qr-badge) { background:#142635; box-shadow:none; }
body.brand-landing .compare-table { border-color:#d8e5eb; }
body.brand-landing .compare-table th { background:#142635; color:#fff; }
/* Payment result and renewal screens */
body.brand-status { padding:0; text-align:left; min-height:100vh; }
body.brand-status .wrapper-login { min-height:calc(100vh - 92px); padding:48px 20px; background:#f0f8fc; }
body.brand-status :is(.container-login,.card) { background:#fff; color:#142635; border:1px solid #d8e5eb; border-radius:20px; box-shadow:0 14px 40px #1426350a; }
body.brand-status .btn-success { background:#ffae42; border-color:#ffae42; color:#142635; border-radius:24px; }
body.brand-renew>.card { width:calc(100% - 40px); max-width:500px; margin:64px auto; padding:36px; text-align:center; }
body.brand-status img { filter:none!important; }
@media(max-width:1000px) {
 .brand-nav .brand-nav__inner { gap:12px; padding:12px 24px; }
 .brand-nav .brand-nav__links { gap:4px; }
 .brand-nav .brand-nav__links a { font-size:10px; padding:10px 7px; }
}
@media(max-width:760px) {
 .brand-nav .brand-nav__inner { flex-direction:column; min-height:0; padding:12px 16px; gap:10px; }
 .brand-nav .brand-nav__logo img { width:149px; height:50px; }
 .brand-nav .brand-nav__links { width:100%; justify-content:center; gap:2px 5px; }
 .brand-nav .brand-nav__links a { min-height:44px; font-size:10px; padding:9px 8px; letter-spacing:.035em; }
 .brand-nav .brand-nav__links a.brand-nav__register { padding:9px 13px; }
 body.brand-site .section { padding-left:24px; padding-right:24px; }
 body.brand-pricing .hero { padding:48px 24px; }
 body.brand-pricing .plan-card { padding:28px 24px; }
 body.brand-site .trial-btn { right:12px; bottom:12px; max-width:calc(100vw - 24px); }
 body.brand-landing .hero { padding-left:24px; padding-right:24px; }
 body.brand-auth .glass-card { border-radius:16px; }
 body.brand-editorial :is(.blog-section,.related-section) { padding:48px 24px; }
 body.brand-status .wrapper-login { min-height:0; }
}
@media(prefers-reduced-motion:reduce) {
 body.brand-site *,body.brand-site *::before,body.brand-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}

/* Consistent mobile rows and remaining decorative details. */
body.brand-landing .hero::before,body.brand-landing .hero::after,
body.brand-landing .cta-banner::before { background:none; animation:none; }
body.brand-landing .hero-trust strong { color:#087da5; }
body.brand-landing .cta-banner { background:#142635; }
body.brand-landing .cta-banner .section-p { color:#c4dce8!important; }
body.brand-landing .compare-table thead th.highlight { background:#087da5; }
body.brand-landing .feat:hover { background:#294b61; border-color:#69c5e5; }
body.brand-landing .feat:hover .feat-icon { background:#e0f2fa; }
body.brand-landing .how-timeline::before { background:#bfdfed; }
body.brand-landing .step-card:hover .step-icon { box-shadow:none; }
body.brand-editorial .paginacion :is(a,span) { border-color:#bfdfed; color:#087da5; }
body.brand-editorial .paginacion .activa { background:#087da5; border-color:#087da5; color:#fff; }
@media(max-width:760px) {
 .brand-nav .brand-nav__links { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:3px 6px; max-width:440px; }
 .brand-nav .brand-nav__links a { grid-column:span 2; }
 .brand-nav .brand-nav__links a:nth-child(n+4) { grid-column:span 3; }
}
@media(max-width:760px) {
 body.brand-auth :is(.float-usd-btn,.float-ars-btn) {
  position:static!important; align-self:center; margin:0 20px 24px;
  max-width:calc(100% - 40px); animation:none; text-align:center;
 }
 body.brand-auth main { padding-left:12px; padding-right:12px; }
 body.brand-auth .glass-card { padding:28px 14px; }
}
@media(max-width:380px) {
 body.brand-auth .g-recaptcha { zoom:.85; }
}
/* Directory and not-found pages share the public shell. */
body.brand-directory { --text:#142635; }
body.brand-directory .hero { background:#f0f8fc; }
body.brand-directory .hero h1 { color:#142635; font-family:'Inter',Arial,sans-serif; letter-spacing:-.045em; }
body.brand-directory .hero h1 em { color:#087da5; }
body.brand-directory .hero-label { color:#925000; border-color:#efc993; background:#fff0d9; }
body.brand-directory .hero p { color:#526574; }
body.brand-directory .hero-divider { background:#bfdfed; }
body.brand-directory .card { background:#fff; border-color:#d8e5eb; border-radius:16px; box-shadow:none; }
body.brand-directory .card-name { color:#142635; font-family:'Inter',Arial,sans-serif; }
body.brand-directory .btn-primary,body.brand-directory .search-inner button { background:#ffae42; color:#142635; border-color:#ffae42; }
body.brand-directory .btn { border-radius:24px; }
body.brand-directory .search-inner { border-color:#bfdfed; background:#fff; }
body.brand-directory .search-inner input { color:#142635; }
body.brand-notfound .serif-title { font-family:'Inter',Arial,sans-serif; font-weight:700; letter-spacing:-.04em; }
body.brand-notfound main { padding-top:72px; padding-bottom:48px; }
body.brand-site .floating-btn { background:#142635; border:1px solid #365a70; color:#fff; box-shadow:0 8px 24px #1426351a; }
@media(max-width:760px) {
 body.brand-site .floating-btn { position:static; display:flex; width:fit-content; max-width:calc(100% - 40px); margin:24px auto 110px; transform:none; animation:none; }
}
/* Registration plan comparison: one submitted plan_id, with all terms visible. */
body.brand-auth .registration-plans { border:0; margin:0; padding:0; min-width:0; display:grid; gap:10px; }
body.brand-auth .registration-plans legend { float:none; width:100%; padding:0; margin:0 0 12px; color:#526574; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
body.brand-auth .registration-plan { display:flex; align-items:center; gap:12px; padding:16px; margin:0; background:#f8fbfd; border:1px solid #c8dce6; border-radius:12px; cursor:pointer; transition:border-color .2s,background .2s; }
body.brand-auth .registration-plan:hover { border-color:#087da5; }
body.brand-auth .registration-plan:has(input:checked) { background:#e5f4fa; border-color:#087da5; box-shadow:0 0 0 1px #087da5; }
body.brand-auth .registration-plan:has(input:focus-visible) { outline:3px solid #69c5e5; outline-offset:3px; }
body.brand-auth .registration-plan input { width:18px; height:18px; flex:0 0 18px; accent-color:#087da5; margin:0; }
body.brand-auth .registration-plan__body { display:grid; gap:8px; min-width:0; flex:1; }
body.brand-auth .registration-plan__heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 14px; }
body.brand-auth .registration-plan__name { font-size:14px; line-height:1.4; font-weight:700; color:#142635; overflow-wrap:anywhere; }
body.brand-auth .registration-plan__price { font-size:17px; line-height:1.3; font-weight:800; color:#087da5; white-space:nowrap; }
body.brand-auth .registration-plan__details { display:flex; flex-wrap:wrap; gap:6px 10px; color:#526574; font-size:12px; line-height:1.5; }
body.brand-auth .registration-plan__details span { padding:3px 8px; background:#fff; border:1px solid #d8e5eb; border-radius:6px; }
body.brand-auth .registration-plans__empty { color:#9e3024; font-size:14px; line-height:1.6; }
@media(max-width:380px) {
 body.brand-auth .registration-plan { padding:12px; gap:9px; }
 body.brand-auth .registration-plan__heading { flex-direction:column; align-items:flex-start; }
}
body.brand-auth .btn-register:disabled { background:#d8e5eb; border-color:#d8e5eb; color:#617483; cursor:not-allowed; transform:none; box-shadow:none; }
/* Center any number of pricing cards; wrap additional rows symmetrically. */
body.brand-pricing .plans-grid {
 display:flex;
 flex-wrap:wrap;
 justify-content:center;
 align-items:stretch;
 gap:24px;
 max-width:1200px;
 margin:0 auto;
}
body.brand-pricing .plans-grid .plan-card {
 flex:0 1 360px;
 width:100%;
 min-width:0;
}
body.brand-pricing .plan-name,body.brand-pricing .plan-price { text-align:center; }
body.brand-pricing .plan-name { min-height:3.2em; display:flex; align-items:center; justify-content:center; line-height:1.4; }
body.brand-pricing .plan-features { gap:12px; }
body.brand-pricing .plan-features li { line-height:1.6; }
body.brand-pricing .plan-features li::before { margin-top:5px; }
body.brand-pricing .free-banner-box { max-width:1128px; }
body.brand-pricing .section[id] { scroll-margin-top:110px; }
@media(max-width:760px) {
 body.brand-pricing .plans-grid { gap:20px; }
 body.brand-pricing .plan-name { min-height:0; margin-bottom:14px; }
 body.brand-pricing .section[id] { scroll-margin-top:185px; }
}
