.sosbs{--bs-dark:#122a40;--bs-border:#e0e8ee;max-width:1100px;margin:20px auto;padding:clamp(14px,3vw,27px);border:1px solid var(--bs-border);border-radius:18px;background:#fff;color:var(--bs-dark);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 12px 30px rgba(10,31,52,.06);box-sizing:border-box}
.sosbs *{box-sizing:border-box}.sosbs header{padding:4px 0 18px}.sosbs header small{font-size:12px;font-weight:800;letter-spacing:.1em;color:#0872a3}.sosbs h2{margin:6px 0;font-size:clamp(24px,4vw,34px);color:#122a40}.sosbs h3{margin:5px 0 15px;font-size:19px}.sosbs p{line-height:1.5}.sosbs label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;margin:10px 0}.sosbs input:not([type=checkbox]),.sosbs select{width:100%;min-width:0;min-height:43px;border:1px solid #cbd8e4;border-radius:10px;padding:10px;background:#fff;color:#162e43;font:inherit}.sosbs .sosbs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px}.sosbs button{cursor:pointer}.sosbs .sosbs-primary{min-height:46px;padding:11px 18px;border:0;border-radius:10px;background:#15618e;color:#fff;font-weight:800}.sosbs .sosbs-primary:hover{background:#104d70}.sosbs .sosbs-primary:disabled{opacity:.5;cursor:wait}.sosbs-times{margin:16px 0;padding:14px;background:#f3f8fc;border-radius:12px;min-height:60px}.sosbs-time{display:inline-flex;margin:4px;padding:10px 13px;border:1px solid #b5cee0;border-radius:9px;background:#fff;color:#134868;font-weight:750}.sosbs-time.selected{background:#15618e;color:#fff;border-color:#15618e}.sosbs-products{border:1px solid var(--bs-border);padding:13px;border-radius:12px;margin:14px 0}.sosbs-products summary{cursor:pointer;font-weight:800}.sosbs .sosbs-product{display:flex;flex-direction:row;align-items:center;gap:8px;border-bottom:1px solid var(--bs-border);padding:9px 0}.sosbs-product span{flex:1}.sosbs .sosbs-consent{display:flex;align-items:flex-start;flex-direction:row;font-size:13px;font-weight:500}.sosbs-message{font-weight:700;min-height:20px}.sosbs-message.is-good{color:#176c38}.sosbs-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:14px}.sosbs-manage,.sosbs-agenda{padding:17px;border:1px solid var(--bs-border);border-radius:13px;background:#fafcfe}.sosbs-manage ul{padding-left:19px}.sosbs-manage li{padding:8px 0;border-bottom:1px solid #e4ebef}.sosbs-disable,.sosbs-status{border:1px solid #c7d9e4;border-radius:6px;padding:7px 9px;background:#fff;margin:3px}.sosbs-disable{color:#aa3030}.sosbs-agenda{margin-top:16px}.sosbs-agenda form{display:flex;align-items:center;gap:8px}.sosbs-agenda form label{display:flex;flex-direction:row;align-items:center}.sosbs-agenda form input{max-width:180px}.sosbs-scroll{overflow-x:auto}.sosbs table{width:100%;border-collapse:collapse;min-width:630px}.sosbs th,.sosbs td{padding:10px;text-align:left;border-bottom:1px solid #dfe6ed}.sosbs td small{display:block;color:#576c7b}.sosbs-admin{max-width:1400px}@media(max-width:600px){.sosbs{margin:8px 0;border-radius:12px;padding:13px}.sosbs-admin-grid{grid-template-columns:1fr}.sosbs-agenda form{flex-wrap:wrap}.sosbs .sosbs-grid{grid-template-columns:1fr}}

.sosbs-stats{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:16px}.sosbs-stats b{padding:12px 15px;border-radius:10px;background:#eef7fb;color:#174d6a}

.sosbs-specialties{margin:12px 0;border:1px solid #dce5ea;border-radius:10px;padding:10px}.sosbs-specialties legend{font-weight:750}.sosbs-specialties label{display:inline-flex;flex-direction:row;align-items:center;gap:5px;margin:4px 10px 4px 0}.sosbs-specialties input[type=checkbox]{width:18px;height:18px}

/* 1.21.6: centro de bienestar; catálogo no gastronómico + marca del comercio */
.sosbs-service-shop{max-width:1220px;background:var(--bs-shop-bg,#fff);padding:clamp(18px,3.5vw,36px)}
.sosbs-service-shop .sosbs-hero{display:flex;align-items:center;gap:26px;padding:clamp(18px,4vw,42px);background:#fff;border:1px solid var(--bs-border);border-radius:18px;margin-bottom:28px}
.sosbs-shop-logo{display:block;object-fit:contain;width:min(210px,33%);max-height:154px;height:auto;flex-shrink:0}
.sosbs-service-shop .sosbs-hero h2{color:var(--bs-dark);font-size:clamp(26px,4vw,44px);line-height:1.15}
.sosbs-service-shop .sosbs-hero p{max-width:650px;font-size:16px;margin:10px 0 0}
.sosbs-service-shop .sosbs-hero small,.sosbs-shop-heading small,.sosbs-booking-heading small{font-weight:800;letter-spacing:.09em;color:var(--bs-accent,#9c784b)}
.sosbs-shop-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:12px 0 17px}.sosbs-shop-heading h3,.sosbs-booking-heading h3{color:var(--bs-dark);font-size:clamp(21px,2.6vw,29px);margin:5px 0}.sosbs-shop-heading span{font-size:13px;white-space:nowrap;color:#66798a}
.sosbs-shop-categories{display:flex;gap:8px;overflow-x:auto;padding:4px 1px 17px;scrollbar-width:thin}
.sosbs .sosbs-cat{border:1px solid #dae0e8;border-radius:999px;padding:9px 18px;white-space:nowrap;background:#fff;color:#243748;font-weight:700}.sosbs .sosbs-cat.active{background:var(--bs-dark);border-color:var(--bs-dark);color:white}
.sosbs-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px}
.sosbs-shop-card{overflow:hidden;background:#fff;border:1px solid #e2e6eb;border-radius:16px;box-shadow:0 6px 18px rgba(6,21,32,.04);display:flex;flex-direction:column}
.sosbs-shop-card[hidden]{display:none!important}.sosbs-shop-photo{height:198px;background:#eef3f5;display:flex;align-items:center;justify-content:center}.sosbs-shop-photo img{height:100%;width:100%;object-fit:cover}.sosbs-shop-no-photo{font-size:64px;color:#b0a698}
.sosbs-shop-info{padding:17px;display:flex;flex-direction:column;gap:8px;flex:1}.sosbs-shop-info small{font-weight:750;color:#687e90}.sosbs-shop-info h4{font-size:19px;line-height:1.25;color:var(--bs-dark);margin:0}.sosbs-shop-info p{font-size:13px;color:#586b7b;line-height:1.5;margin:0}.sosbs-shop-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:13px}.sosbs-shop-foot b{font-size:16px}
.sosbs-shop-foot .sosbs-select-service{border:0;background:var(--bs-dark);color:#fff;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:750}.sosbs-shop-info-label{font-size:12px;color:#5c6873}
.sosbs-booking-heading{background:#fff;border-radius:14px;padding:19px;margin:28px 0 12px}.sosbs-booking-heading p{margin:0;color:#546678}.sosbs-service-shop .sosbs-book{background:#fff;border:1px solid #e2e9f0;border-radius:15px;padding:18px;scroll-margin-top:100px}
.sosbs-setup-message{border:1px solid #dce5ec;border-radius:14px;background:#fff;padding:20px}.sosbs-setup-message strong{color:var(--bs-dark);font-size:17px}
.sosbs-admin-existing{border-radius:15px;border:1px solid #dce7eb;background:#f6fbfc;padding:clamp(12px,2vw,23px);margin-bottom:22px}.sosbs-admin-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.sosbs-admin-product-card{margin:0;display:flex;flex-direction:column;gap:9px;background:#fff}.sosbs-admin-product-card img{width:100%;height:125px;border-radius:9px;object-fit:cover}.sosbs-admin-product-card div{display:grid;gap:5px}.sosbs-admin-product-card div strong{font-size:16px;color:var(--bs-dark)}.sosbs-admin-product-card div small{color:#6b7c8b}.sosbs-admin-product-card label{margin:0}.sosbs-linked{background:#dcf7e8;color:#126337;padding:8px 10px;border-radius:8px;font-weight:700;font-size:13px}
@media(max-width:640px){.sosbs-service-shop .sosbs-hero{flex-direction:column;text-align:center;padding:20px}.sosbs-shop-logo{width:min(250px,75%)}.sosbs-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sosbs-shop-photo{height:145px}.sosbs-shop-info{padding:12px}.sosbs-shop-info h4{font-size:16px}.sosbs-shop-foot{align-items:start}.sosbs-admin-products{grid-template-columns:1fr}}
@media(max-width:380px){.sosbs-shop-grid{grid-template-columns:1fr}.sosbs-shop-photo{height:205px}}

/* Agenda de Servicios 1.21.7: onboarding y selector de fechas */
.sosbs-setup-dashboard{padding:20px;border-radius:16px;background:#f7fbff;border:1px solid #cee2f0;margin:10px 0 20px}.sosbs-setup-dashboard h3{margin:0 0 12px;color:#103959}.sosbs-setup-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px}.sosbs-setup-stats>div{padding:12px;background:white;border:1px solid #d9e6f1;border-radius:11px}.sosbs-setup-stats strong{font-size:25px;display:block;color:#0e557c}.sosbs-setup-stats span{font-size:12px;display:block;color:#47647b}.sosbs-setup-warning{background:#fff4df;border:1px solid #f3d393;padding:12px;border-radius:10px}.sosbs-setup-ok{background:#e5f8ed;border:1px solid #a8dbbb;padding:12px;border-radius:10px}.sosbs-open-public{display:inline-block;background:#124e74;color:#fff!important;border-radius:10px;padding:11px 15px;text-decoration:none;font-weight:800}.sosbs-days{border:1px solid #d7e2ed;border-radius:11px;margin:12px 0;padding:12px}.sosbs-days legend{font-weight:800}.sosbs-days label{display:inline-flex;flex-direction:row;align-items:center;gap:5px;margin:4px 11px 4px 0;font-size:13px}.sosbs-date-shortcuts{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:10px 0}.sosbs-date-chip{white-space:nowrap;border:1px solid #c8d9e6;background:white;color:#15425e;border-radius:999px;padding:10px 13px;font-weight:750}.sosbs-date-chip:hover,.sosbs-date-chip.selected{background:#15547f;color:white;border-color:#15547f}@media(max-width:620px){.sosbs-setup-stats{grid-template-columns:1fr 1fr}.sosbs-setup-stats strong{font-size:21px}}

/* 1.21.8: confirmaciones visibles junto al formulario editado */
.sosbs-form-result{margin:10px 0;padding:10px 12px;border-radius:8px;background:#edf3fa;color:#173a61;font-weight:600;line-height:1.5}.sosbs-form-result.is-success{background:#e6f7ed;color:#176135}.sosbs-form-result.is-error{background:#fff0ee;color:#8e2417}


/* 1.21.10: Citas App - navegación autónoma, sin cambiar otros shortcodes. */
body.sosbs-services-app-page #header,body.sosbs-services-app-page #header_main,body.sosbs-services-app-page .site-header{display:none!important}
body.sosbs-services-app-page #main{padding-top:0!important}
body.sosbs-services-app-page #main>.container,body.sosbs-services-app-page .entry-content-wrapper{max-width:none!important;width:100%!important}
body.sosbs-services-app-page .entry-content-wrapper>.flex_column{margin:0!important;width:100%!important}
.sosbs-service-app{width:100%;max-width:1280px;padding:0 0 94px!important;border:0!important;box-shadow:none!important;border-radius:0!important;margin:0 auto!important;min-height:100vh;background:var(--bs-shop-bg,#f6f8fa);position:relative;isolation:isolate}
.sosbs-service-app .sosbs-app-header{position:sticky;top:0;z-index:30;display:flex!important;flex-direction:row!important;text-align:left!important;align-items:center;gap:16px!important;border:0!important;border-radius:0!important;margin:0!important;min-height:94px;padding:12px clamp(16px,4vw,32px)!important;background:var(--bs-dark)!important;box-shadow:0 6px 18px rgba(0,0,0,.13)}
body.admin-bar .sosbs-service-app .sosbs-app-header{top:32px}
.sosbs-service-app .sosbs-shop-logo{height:72px!important;width:72px!important;max-height:72px!important;object-fit:contain;flex-shrink:0;filter:none}
.sosbs-service-app .sosbs-shop-monogram{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.15);color:#fff;font-size:35px}
.sosbs-service-app .sosbs-header-copy{min-width:0;flex:1}.sosbs-service-app .sosbs-header-copy h2{font-size:clamp(20px,3.2vw,30px)!important;color:#fff!important;margin:0 0 5px!important;line-height:1.12!important;overflow-wrap:anywhere}.sosbs-service-app .sosbs-header-copy p{color:rgba(255,255,255,.85)!important;font-size:13px!important;margin:0!important;line-height:1.35!important}
.sosbs-service-app .sosbs-header-more{background:rgba(255,255,255,.15);color:white;border:0;border-radius:50%;height:44px;width:44px;flex:0 0 44px;font-weight:900}
.sosbs-service-app .sosbs-app-content{max-width:1180px;margin:auto;padding:clamp(14px,2.5vw,28px)}
.sosbs-service-app .sosbs-shop-heading{scroll-margin-top:110px}.sosbs-service-app .sosbs-booking-heading{scroll-margin-top:110px}
.sosbs-service-app .sosbs-shop-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.sosbs-service-app .sosbs-shop-card{border-radius:20px}.sosbs-service-app .sosbs-shop-photo{height:235px}
.sosbs-service-app .sosbs-app-dock{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:#fffaf4;border-top:1px solid #e5ded5;padding:9px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));z-index:110;box-shadow:0 -5px 18px rgba(16,17,20,.09)}
.sosbs-service-app .sosbs-app-dock button{width:20%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:transparent;color:#48362c;padding:6px 1px;font-size:13px;font-weight:800}
.sosbs-service-app .sosbs-app-dock button span{font-size:28px;line-height:29px;font-weight:750}.sosbs-service-app .sosbs-app-dock button small{font-size:11px;color:inherit}.sosbs-service-app .sosbs-app-dock button.is-active{color:var(--bs-dark)}
.sosbs-service-app .sosbs-app-dock .sosbs-dock-book span{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--bs-dark);color:#fff;font-size:27px;box-shadow:0 4px 18px rgba(30,31,30,.2);margin-top:-21px}
.sosbs-service-app .sosbs-sheet-overlay,.sosbs-service-app .sosbs-category-overlay{position:fixed;inset:0;background:rgba(18,11,7,.65);backdrop-filter:blur(4px);z-index:120}
.sosbs-service-app .sosbs-more-sheet,.sosbs-service-app .sosbs-category-sheet{position:fixed;bottom:0;left:0;right:0;z-index:121;max-height:87dvh;overflow-y:auto;overscroll-behavior:contain;background:#fffaf4;border-radius:32px 32px 0 0;padding:10px clamp(16px,4vw,26px) calc(28px + env(safe-area-inset-bottom));box-shadow:0 -12px 36px rgba(0,0,0,.13);color:#463327}
.sosbs-service-app [hidden]{display:none!important}
.sosbs-service-app .sosbs-sheet-handle{width:44px;height:5px;background:#d8d4d0;border-radius:99px;margin:0 auto 13px}
.sosbs-service-app .sosbs-sheet-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 14px}.sosbs-service-app .sosbs-sheet-title h3{font-size:26px;color:#3b3028;margin:0}.sosbs-service-app .sosbs-sheet-title button{width:44px;height:44px;border:0;border-radius:50%;background:#eee7df;color:#3f3129;font-size:32px;line-height:1}
.sosbs-service-app .sosbs-sheet-group{border:1px solid #e7e0d8;border-radius:22px;padding:17px;margin:0 0 17px;background:#fffdf8}
.sosbs-service-app .sosbs-sheet-group h4{font-size:20px;margin:3px 0 14px;color:#48362c}.sosbs-service-app .sosbs-sheet-row{width:100%;display:flex;align-items:center;gap:14px;padding:13px 2px;border:0;border-top:1px solid #ece5de;background:none;text-decoration:none!important;color:#49392d!important;text-align:left;font-size:14px}
.sosbs-service-app .sosbs-sheet-row>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.sosbs-service-app .sosbs-sheet-row strong{font-size:15px;color:#3b2c23}.sosbs-service-app .sosbs-sheet-row small{font-size:12px;color:#6e757e;overflow-wrap:anywhere}.sosbs-service-app .sosbs-sheet-row>b{font-size:25px;color:#758196}.sosbs-service-app .sosbs-sheet-icon{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:#f0e8df;display:grid;place-items:center;font-size:23px}
.sosbs-service-app .sosbs-provider-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.sosbs-service-app .sosbs-provider-title img{width:84px;height:72px;object-fit:contain}.sosbs-service-app .sosbs-provider-tagline{font-size:12px;color:#7b817f;text-align:center;margin:15px 0 0}.sosbs-service-app .sosbs-install-help{margin:12px 0;background:#eaf5ff;border-radius:11px;padding:12px;color:#153e5c;line-height:1.5;font-size:13px}
.sosbs-service-app .sosbs-category-list{display:grid;gap:8px}.sosbs-service-app .sosbs-category-list button{border:1px solid #e8e1d8;border-radius:14px;padding:16px;text-align:left;color:#493729;font-weight:800;background:#fff}
.sosbs-service-app .sosbs-scroll-anchor{scroll-margin-top:110px;height:0}
@media(max-width:640px){.sosbs-service-app .sosbs-app-header{padding:10px 13px!important;min-height:95px}.sosbs-service-app .sosbs-shop-logo{width:76px!important;height:76px!important;max-height:76px!important}.sosbs-service-app .sosbs-app-content{padding:14px}.sosbs-service-app .sosbs-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sosbs-service-app .sosbs-shop-photo{height:160px}.sosbs-service-app .sosbs-shop-foot{gap:8px}.sosbs-service-app .sosbs-header-copy h2{font-size:20px!important}.sosbs-service-app .sosbs-app-dock button small{font-size:10px}}
@media(max-width:390px){.sosbs-service-app .sosbs-shop-grid{grid-template-columns:1fr}.sosbs-service-app .sosbs-shop-photo{height:225px}.sosbs-service-app .sosbs-app-dock button span{font-size:23px}}
@media(max-width:782px){body.admin-bar .sosbs-service-app .sosbs-app-header{top:46px}}

/* 1.21.11 - Brand Studio PRO real para la aplicación de citas; reglas aisladas al shortcode. */
body.sosbs-services-app-page{margin:0}
body.sosbs-services-app-page .sosbs-service-app{--bs-dark:#17120A;max-width:none!important;background:var(--bs-shop-bg)!important;color:var(--bs-text);min-height:100dvh}
body.sosbs-services-app-page .sosbs-service-app .sosbs-app-header{display:block!important;position:sticky!important;top:0!important;z-index:50!important;min-height:0!important;width:100%!important;padding:8px 16px!important;margin:0!important;background:var(--bs-head-bg)!important;color:var(--bs-head-text)!important;border-radius:0!important}
body.admin-bar.sosbs-services-app-page .sosbs-service-app .sosbs-app-header{top:32px!important}
.sosbs-service-app .sosbs-header-brand{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:15px;width:100%;max-width:1180px;margin:0 auto;min-width:0}
.sosbs-service-app.sosbs-layout-stacked .sosbs-header-brand{flex-direction:column;gap:4px}
.sosbs-service-app.sosbs-align-center .sosbs-header-brand{justify-content:center;text-align:center}
.sosbs-service-app.sosbs-brand-none .sosbs-header-brand{justify-content:center}
.sosbs-service-app .sosbs-logo-frame{display:flex!important;justify-content:center;align-items:center;flex:0 1 auto;max-width:100%;width:var(--bs-logo-w);min-height:0;max-height:var(--bs-logo-h);height:auto;padding:var(--bs-logo-pad);border-radius:var(--bs-logo-radius);background:var(--bs-logo-bg);overflow:hidden}
.sosbs-service-app .sosbs-logo-frame .sosbs-shop-logo{display:block!important;flex:0 1 auto;width:100%!important;height:auto!important;max-height:calc(var(--bs-logo-h) - 2*var(--bs-logo-pad))!important;max-width:100%!important;object-fit:var(--bs-logo-fit)!important;object-position:center!important;transform:scale(var(--bs-logo-scale));transform-origin:center;filter:none!important;border-radius:var(--bs-logo-radius)}
.sosbs-service-app .sosbs-header-copy{min-width:0;flex:0 1 auto;color:var(--bs-head-text)!important}.sosbs-service-app .sosbs-header-copy h2{color:var(--bs-head-text)!important}.sosbs-service-app .sosbs-header-copy p{color:var(--bs-head-text)!important;opacity:.86}
.sosbs-service-app .sosbs-header-more{display:none!important}
.sosbs-service-app .sosbs-contact-ribbon{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;overflow-x:auto;scrollbar-width:thin;background:var(--bs-contact-bg)!important;color:var(--bs-contact-text)!important;padding:7px 14px;min-height:37px;font-size:12px;font-weight:650;white-space:nowrap}
.sosbs-service-app .sosbs-contact-ribbon a,.sosbs-service-app .sosbs-contact-ribbon span{color:var(--bs-contact-text)!important;white-space:nowrap;text-decoration:none!important}
.sosbs-service-app .sosbs-shop-heading h3,.sosbs-service-app .sosbs-booking-heading h3{color:var(--bs-text)!important}
.sosbs-service-app .sosbs-shop-heading span,.sosbs-service-app .sosbs-booking-heading p{color:var(--bs-muted)!important}
.sosbs-service-app .sosbs-shop-heading small,.sosbs-service-app .sosbs-booking-heading small{color:var(--bs-accent)!important}
.sosbs-service-app .sosbs-booking-heading,.sosbs-service-app .sosbs-book,.sosbs-service-app .sosbs-shop-card{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-border)!important}
.sosbs-service-app .sosbs-shop-card{border-radius:var(--bs-card-radius)!important}
.sosbs-service-app .sosbs-shop-info h4{color:var(--bs-text)!important}
.sosbs-service-app .sosbs-shop-info p,.sosbs-service-app .sosbs-shop-info small{color:var(--bs-muted)!important}
.sosbs-service-app .sosbs-shop-foot b{color:var(--bs-price)!important}
.sosbs-service-app .sosbs-shop-photo img{object-fit:var(--bs-photo-fit)!important}
.sosbs-service-app .sosbs-shop-foot .sosbs-select-service{background:var(--bs-cta-bg)!important;color:var(--bs-cta-text)!important}
.sosbs-service-app .sosbs-cat{background:var(--bs-cat-inactive-bg)!important;color:var(--bs-cat-inactive-text)!important;border-color:var(--bs-border)!important}
.sosbs-service-app .sosbs-cat.active{background:var(--bs-cat-active-bg)!important;color:var(--bs-cat-active-text)!important}
.sosbs-service-app .sosbs-app-dock .sosbs-dock-book span{background:var(--bs-cta-bg)!important;color:var(--bs-cta-text)!important}
.sosbs-service-app .sosbs-app-dock button.is-active{color:var(--bs-text)!important}
.sosbs-service-app .sosbs-scroll-anchor,.sosbs-service-app .sosbs-shop-heading,.sosbs-service-app .sosbs-booking-heading{scroll-margin-top:190px!important}
@media(max-width:640px){
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-header{padding:8px 12px!important}
 .sosbs-service-app .sosbs-logo-frame{width:min(var(--bs-logo-mw),100%);max-height:var(--bs-logo-mh);padding:var(--bs-logo-pad)}
 .sosbs-service-app .sosbs-logo-frame .sosbs-shop-logo{width:100%!important;max-height:calc(var(--bs-logo-mh) - 2*var(--bs-logo-pad))!important;height:auto!important;object-fit:var(--bs-logo-fit)!important}
 .sosbs-service-app .sosbs-header-brand{gap:10px}
 .sosbs-service-app .sosbs-header-copy h2{font-size:19px!important}
 .sosbs-service-app .sosbs-shop-grid{grid-template-columns:1fr!important}
 .sosbs-service-app .sosbs-shop-photo{height:auto!important;min-height:190px;max-height:none!important}
 .sosbs-service-app .sosbs-shop-photo img{height:auto!important;max-height:450px;width:100%!important;object-fit:contain!important}
 .sosbs-service-app .sosbs-contact-ribbon{justify-content:flex-start}
}
@media(max-width:782px){body.admin-bar.sosbs-services-app-page .sosbs-service-app .sosbs-app-header{top:46px!important}}

/* Mantener juntos el logo y la información del comercio durante el scroll. */
.sosbs-service-app .sosbs-contact-ribbon{position:sticky!important;top:var(--bs-header-sticky-height,94px)!important;z-index:49!important}
body.admin-bar.sosbs-services-app-page .sosbs-service-app .sosbs-contact-ribbon{top:calc(var(--bs-header-sticky-height,94px) + 32px)!important}
@media(max-width:782px){body.admin-bar.sosbs-services-app-page .sosbs-service-app .sosbs-contact-ribbon{top:calc(var(--bs-header-sticky-height,94px) + 46px)!important}}

/* 1.21.12: ventana de detalle, enlaces, accesibilidad y compartir. */
.sosbs-service-app .sosbs-shop-photo.sosbs-open-detail{display:block;width:100%;padding:0;border:0;cursor:zoom-in;background:transparent;text-align:inherit}
.sosbs-service-app .sosbs-title-detail{padding:0;margin:0;border:0;color:inherit;background:transparent;font:inherit;line-height:inherit;text-align:left;cursor:pointer}
.sosbs-service-app .sosbs-title-detail:hover{text-decoration:underline;text-underline-offset:3px}
.sosbs-service-app .sosbs-open-detail:focus-visible{outline:3px solid var(--bs-accent,#d4af37);outline-offset:3px}
.sosbs-service-app .sosbs-cat-external{display:inline-flex!important;align-items:center;text-decoration:none!important;white-space:nowrap;min-height:42px}
.sosbs-service-app .sosbs-category-list a{display:block;border:1px solid #e8e1d8;border-radius:14px;padding:16px;text-align:left;color:#493729;font-weight:800;background:#fff;text-decoration:none}
.sosbs-detail-backdrop{position:fixed;z-index:99001;inset:0;background:rgba(0,0,0,.83);backdrop-filter:blur(8px)}
.sosbs-detail-modal{position:fixed!important;z-index:99002!important;top:50%;left:50%;transform:translate(-50%,-50%);width:min(800px,calc(100vw - 24px));max-height:calc(100dvh - 22px);overflow:auto;overscroll-behavior:contain;border-radius:22px;background:#fffdf7;color:#241e16;box-shadow:0 30px 100px rgba(0,0,0,.6);padding:0!important}
.sosbs-service-app .sosbs-detail-modal[hidden],.sosbs-service-app .sosbs-detail-backdrop[hidden]{display:none!important}
body.sosbs-detail-open{overflow:hidden!important}
.sosbs-detail-top{position:sticky;top:0;background:#17120A;color:#fff8e6;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;z-index:2;font-weight:800;font-size:13px;letter-spacing:.03em}
.sosbs-detail-top button{width:42px;height:42px;background:#fff2d6;color:#17120A;border:0;border-radius:50%;font-size:27px;cursor:pointer}
.sosbs-detail-image-button{display:block;width:100%;padding:10px;border:0;background:#100d0b;cursor:zoom-in;overflow:auto;text-align:center;max-height:66dvh}
.sosbs-detail-image-button img{display:block;width:auto;max-width:100%;max-height:58dvh;height:auto;object-fit:contain;margin:auto;border-radius:10px}
.sosbs-detail-modal.is-zoomed .sosbs-detail-image-button img{max-width:none;max-height:none;width:145%;cursor:zoom-out}
.sosbs-detail-content{padding:20px clamp(16px,4vw,28px) 26px;display:grid;gap:12px}
.sosbs-detail-content small{color:#866727;text-transform:uppercase;font-weight:850;letter-spacing:.06em}
.sosbs-detail-content h2{font-size:clamp(24px,5vw,34px);margin:0;color:#21190f}
.sosbs-detail-description{margin:0!important;line-height:1.75;white-space:pre-wrap;color:#4b4135!important;overflow-wrap:anywhere}
.sosbs-detail-price{font-size:25px;color:#8a4b1d}
.sosbs-detail-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.sosbs-detail-actions button{border-radius:13px;min-height:48px;padding:10px 8px;border:1px solid #ccbea8;background:#fff;color:#221b12;font-weight:800;cursor:pointer;font-size:14px}
.sosbs-detail-actions [data-bs-detail-book]{background:#d4af37;color:#17120A;border-color:#d4af37}
.sosbs-detail-actions [data-bs-detail-share]{background:#128c50;color:#fff;border-color:#128c50}
.sosbs-detail-actions button:focus-visible{outline:3px solid #d4af37;outline-offset:2px}
.sosbs-detail-feedback{font-size:13px;color:#4b5f44;min-height:1em;margin:0!important}
@media(max-width:420px){.sosbs-detail-modal{border-radius:14px;width:calc(100vw - 14px)}.sosbs-detail-actions{grid-template-columns:1fr 1fr}.sosbs-detail-content{padding:16px}}

.sosbs-detail-modal[hidden],.sosbs-detail-backdrop[hidden]{display:none!important}

/* Adaptación de la ficha al Brand Studio del comercio seleccionado. */
.sosbs-detail-modal{background:var(--bs-surface,#fffdf7);color:var(--bs-text,#241e16)}
.sosbs-detail-top{background:var(--bs-head-bg,#17120A);color:var(--bs-head-text,#fff8e6)}
.sosbs-detail-top button{background:var(--bs-cta-bg,#d4af37);color:var(--bs-cta-text,#17120A)}
.sosbs-detail-content h2{color:var(--bs-text,#21190f)}
.sosbs-detail-description{color:var(--bs-text,#4b4135)!important;opacity:.9}
.sosbs-detail-content small{color:var(--bs-accent,#866727)}
.sosbs-detail-price{color:var(--bs-price,#8a4b1d)}
.sosbs-detail-actions button{border-color:var(--bs-border,#ccbea8);background:var(--bs-surface,#fff);color:var(--bs-text,#221b12)}
.sosbs-detail-actions [data-bs-detail-book]{background:var(--bs-cta-bg,#d4af37);color:var(--bs-cta-text,#17120A);border-color:var(--bs-cta-bg,#d4af37)}
.sosbs-detail-actions [data-bs-detail-share]{background:#128c50;color:#fff;border-color:#128c50}
.sosbs-detail-feedback{color:var(--bs-text,#4b5f44)}


/* 1.21.13 - Recuperación móvil: foto legible y ficha única por fila,
   sin interferir con la vista de escritorio ni con las reservas registradas. */
html.sosmp-mobile-recovery .sosbs-service-app{width:100%!important;max-width:100vw!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-shop-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:16px!important
}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-shop-card{width:100%!important;min-width:0!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-shop-photo{height:auto!important;min-height:0!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-shop-photo img{
  width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important
}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-app-dock{
  position:fixed!important;left:0!important;right:0!important;bottom:0!important;
  display:flex!important;align-items:center!important;z-index:115!important;
  min-height:72px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important
}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-app-dock button{min-width:0!important;font-size:12px!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-app-content{
  padding:14px 12px calc(90px + env(safe-area-inset-bottom))!important
}

/* 1.21.14: mobile PWA con fichas legibles, dock táctil y cabecera de marca.
   Configuración Brand Studio (colores / tamaños) sigue siendo la fuente de verdad. */
@media (max-width:800px){
 body.sosbs-services-app-page .sosbs-service-app{max-width:100%!important;min-width:0!important}
 body.sosbs-services-app-page .sosbs-service-app .sosbs-shop-grid{grid-template-columns:minmax(0,1fr)!important}
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-dock{
   min-height:76px!important;padding-bottom:calc(7px + env(safe-area-inset-bottom))!important
 }
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-dock button{
   min-height:58px!important;font-size:13px!important
 }
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-dock button span{
   font-size:27px!important;line-height:1.1!important
 }
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-dock button small{
   font-size:12px!important;line-height:1.2!important
 }
 body.sosbs-services-app-page .sosbs-service-app .sosbs-app-content{
   max-width:100%!important;padding-bottom:calc(104px + env(safe-area-inset-bottom))!important
 }
 body.sosbs-services-app-page .sosbs-service-app .sosbs-logo-frame{
   width:min(var(--bs-logo-mw,140px),88vw)!important;
   max-height:var(--bs-logo-mh,140px)!important
 }
}
/* Fallback para teléfonos en modo escritorio que reportan 980 CSS px. */
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-app-dock button span{font-size:27px!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-app-dock button small{font-size:12px!important}
html.sosmp-mobile-recovery .sosbs-service-app .sosbs-logo-frame{
 width:min(var(--bs-logo-mw,140px),88vw)!important;max-width:88vw!important
}
