:root{--nd-ink:#241c22;--nd-muted:#6b5b65;--nd-plum:#682843;--nd-plum-dark:#542038;--nd-rose:#f1e8ec;--nd-surface:#fff;--nd-line:#e6dce1;--nd-bg:#f7f3f5;--nd-display:'Playfair Display',Georgia,serif;--nd-body:'DM Sans',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{max-width:none!important;margin:0!important;padding:0!important;background:var(--nd-bg);color:var(--nd-ink);font-family:var(--nd-body)!important;font-size:15px!important;line-height:1.55!important;accent-color:var(--nd-plum)}
::selection{background:#d6aabd;color:#27141e}
a{color:var(--nd-plum);text-underline-offset:3px}
a:hover{color:var(--nd-plum-dark)}
button,a,input,select,textarea{transition:border-color .18s ease,background-color .18s ease,color .18s ease,box-shadow .18s ease}
:focus-visible{outline:3px solid #a85075;outline-offset:3px}
.page-shell{min-height:100vh;display:flex;flex-direction:column}
.site-header{width:min(calc(100% - 48px),1080px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;border-bottom:1px solid var(--nd-line)}
.site-header>a{font-family:var(--nd-display);font-size:24px;font-weight:700;text-decoration:none;color:var(--nd-ink)}
.site-header nav{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;font-weight:600}
.site-header nav a{text-decoration:none}
main{width:min(calc(100% - 48px),760px);margin:48px auto 80px;flex:1}
main>h1{font-family:var(--nd-display);font-size:clamp(32px,5vw,48px);font-weight:600;line-height:1.15;letter-spacing:-.025em;margin:0 0 24px;text-wrap:balance}
h2{font-family:var(--nd-display);font-weight:600;line-height:1.2;letter-spacing:-.018em;margin:38px 0 14px}
p{margin:0 0 16px}.volver{margin:-8px 0 28px;font-size:13px;font-weight:600}.volver a{text-decoration:none}
img{max-width:100%;height:auto}
table{border-collapse:collapse;width:100%}
td,th{border:1px solid var(--nd-line);padding:8px;text-align:left;vertical-align:top}
form.enlinea{display:inline}
small{color:var(--nd-muted)}
.site-footer{width:min(calc(100% - 48px),1080px);margin:auto;padding:28px 0;border-top:1px solid var(--nd-line);color:var(--nd-muted)}
.site-footer a{color:inherit}
ul.menu{display:grid;gap:9px;margin:16px 0 26px!important;padding:0!important;list-style:none}
ul.menu li{margin:0!important}
ul.menu a{display:block;padding:15px 18px!important;border:1px solid var(--nd-line)!important;border-radius:12px;background:var(--nd-surface);color:var(--nd-ink);text-decoration:none!important;line-height:1.45}
ul.menu a:hover{border-color:#a9778d!important;background:#fdf9fa;box-shadow:0 8px 24px rgba(69,29,45,.08)}
/* Opciones que se eligen con un boton (horarios para reprogramar): se ven igual que los links del menu */
ul.menu form.enlinea{display:block}
ul.menu form.enlinea button{display:block;width:100%;padding:15px 18px!important;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-surface);color:var(--nd-ink);font:inherit;text-align:left;line-height:1.45}
ul.menu form.enlinea button:hover{border-color:#a9778d;background:#fdf9fa;box-shadow:0 8px 24px rgba(69,29,45,.08)}
button.sec{background:#fff;color:var(--nd-plum);border:1px solid var(--nd-line)}
button.sec:hover{border-color:#a9778d;background:#fdf9fa}
ul.menu a b{font-weight:700}
form.ajax:not(.enlinea){margin:26px 0;padding:26px;background:#fff;border-radius:16px;box-shadow:0 14px 42px rgba(60,35,48,.07)}
label{font-size:14px;font-weight:600;color:var(--nd-ink)}
label:not(.linea){display:block;margin:12px 0}
input,select,textarea,button{font-family:var(--nd-body)!important}
/* El formulario de tarjeta de Mercado Pago (#pago-tarjeta) trae su estilo: se lo deja afuera sin sumar especificidad */
input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not(:where(#pago-tarjeta *)),select:not(:where(#pago-tarjeta *)),textarea{width:100%;min-height:44px;border:1px solid #cfc0c8;border-radius:9px;background:#fff;color:var(--nd-ink);padding:10px 12px!important;margin-top:6px}
textarea{min-height:100px}
input:focus,select:focus,textarea:focus{border-color:var(--nd-plum);box-shadow:0 0 0 3px #e9cbd8;outline:0}
button{min-height:44px;border:0;border-radius:9px;padding:10px 19px!important;background:var(--nd-plum);color:#fff;font-weight:700;cursor:pointer}
button:hover{background:var(--nd-plum-dark)}button:disabled{opacity:.6;cursor:wait}
fieldset{border:0;padding:0;margin:25px 0}legend{font-weight:700;color:var(--nd-plum);margin-bottom:10px}
label.linea{display:flex!important;align-items:flex-start;gap:10px;margin:8px 0!important;padding:13px 14px;border:1px solid var(--nd-line);border-radius:11px;background:#fff;line-height:1.4;cursor:pointer}
label.linea:has(input:checked){border-color:#a46a83;background:var(--nd-rose)}
label.linea input{flex:none;margin-top:3px}
.aviso{border:1px solid #ddc5d0!important;background:#f7edf1;padding:16px!important;border-radius:12px;margin:22px 0!important}
.err,.msg.mal{color:#a31e39!important}.msg.ok{color:#16603e!important}
.tabla{border-radius:12px;background:#fff}td,th{padding:9px!important;border-color:var(--nd-line)!important}
.sitio-negocio{--nd-bg:#f0ecee}
.sitio-negocio main{width:min(calc(100% - 48px),840px)}
.portada-negocio main{width:min(calc(100% - 48px),720px);margin-top:68px}
.portada-negocio main>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.brand-card{text-align:center;background:#fff;border-radius:22px;padding:44px clamp(22px,5vw,56px);box-shadow:0 22px 55px rgba(71,39,55,.08)}
.brand-card .monogram{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 16px;border-radius:50%;background:var(--nd-plum);color:#fff;font:600 28px var(--nd-display)}
.brand-card .brand-logo{max-height:120px;max-width:180px;object-fit:contain;margin:0 auto 18px}
.brand-card h2{font-size:clamp(32px,5vw,44px);margin:0 0 10px}
.brand-card .brand-description{color:var(--nd-muted);font-size:16px;max-width:44ch;margin:0 auto 12px}
.brand-card .brand-meta{font-size:14px;color:var(--nd-plum);margin:0 0 24px}
.brand-card .brand-meta .stars{letter-spacing:.1em}
.brand-card .menu{max-width:440px;margin:0 auto!important}
.brand-card .menu a{text-align:left;position:relative}
.brand-card .menu a::after{content:'›';position:absolute;right:17px;font-size:24px;line-height:20px;color:var(--nd-muted)}
.brand-card .menu .primary a{background:var(--nd-plum);color:#fff;text-align:center;font-weight:700;border-color:var(--nd-plum)!important}
.brand-card .menu .primary a::after{display:none}
.brand-card .menu .primary a:hover{background:var(--nd-plum-dark)}
.brand-reviews{margin-top:32px}.brand-reviews h2{font-size:26px}.review{background:#fff;border-radius:13px;padding:20px;margin:12px 0}.review .stars{color:var(--nd-plum);letter-spacing:.08em}
.flujo-reserva main{width:min(calc(100% - 48px),690px)}
.flujo-reserva main>h1{margin-bottom:6px}
.flow-steps{display:flex;gap:10px;margin:0 0 30px;padding:0;list-style:none;color:var(--nd-muted);font-size:12px;font-weight:700}
.flow-steps li{flex:1;border-top:2px solid #d9cbd2;padding-top:8px}
.flow-steps li.active{border-color:var(--nd-plum);color:var(--nd-plum)}
.booking-summary{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;background:#fff;border-radius:12px;padding:18px 20px;margin:20px 0 26px;color:var(--nd-muted)}
.booking-summary strong{color:var(--nd-ink)}
.booking-summary .amount{color:var(--nd-plum);font-size:19px;font-weight:700}
.flujo-reserva h2{font-size:25px;margin:30px 0 12px}
.flujo-reserva form.ajax:not(.enlinea){padding:0;box-shadow:none;background:transparent}
.flujo-reserva form.ajax:not(.enlinea)>p:last-child{background:#fff;padding:16px;margin:24px -16px 0;position:sticky;bottom:0;border-radius:13px;box-shadow:0 -8px 24px rgba(60,35,48,.08)}
.flujo-reserva form.ajax:not(.enlinea)>p:last-child button{width:100%}
.choice-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--nd-line);font-weight:700}
.choice-summary strong{color:var(--nd-plum);font-size:20px}
.flujo-reserva fieldset label.linea{align-items:center!important;min-height:66px}
.flujo-reserva fieldset label.linea .choice-copy{display:flex;flex:1;flex-direction:column;gap:1px}
.flujo-reserva fieldset label.linea .choice-copy small{font-size:12px;font-weight:400}
.flujo-reserva fieldset label.linea strong{white-space:nowrap;color:var(--nd-ink);font-size:14px}
.flujo-reserva fieldset input[type=radio],.flujo-reserva fieldset input[type=checkbox]{width:17px;height:17px}
.flujo-reserva ul.menu a{padding:18px 20px!important}
.flujo-reserva ul.menu a b{font-size:16px}
@media(max-width:600px){.site-header{width:min(calc(100% - 32px),1080px);min-height:66px}.site-header>a{font-size:20px}.site-header nav{gap:10px;font-size:12px}main,.sitio-negocio main,.flujo-reserva main,.portada-negocio main{width:min(calc(100% - 32px),760px);margin-top:30px;margin-bottom:52px}.brand-card{padding:34px 18px}.flow-steps{font-size:10px;gap:5px}.site-footer{width:min(calc(100% - 32px),1080px)}.flujo-reserva form.ajax:not(.enlinea)>p:last-child{margin-left:-16px;margin-right:-16px;border-radius:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Mayorista: el servicio organiza la compra y los pasos se recorren lateralmente. */
.tienda-mayorista main{width:min(calc(100% - 48px),1320px);margin-top:32px}
.tienda-mayorista main>h1{margin-bottom:4px}
.tienda-mayorista .volver{margin:0 0 24px}
.mayorista-map{--mm-wine:#682843;--mm-line:#d8c9c0;--mm-paper:#fffdfb;--mm-sand:#faf7f3;max-width:100%;color:#33292c}
.mm-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 28px}
.mm-intro>p{font-size:16px;max-width:56ch;margin:0;color:#5b5053}
.mm-links{display:flex;align-items:center;gap:16px;white-space:nowrap;font-weight:700;font-size:13px}
.mm-links a{text-decoration:none}.mm-links a:hover{text-decoration:underline}
.mm-links .mm-cart{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:10px;background:var(--mm-wine);color:#fff}
.mm-cart span{min-width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--mm-wine);font-size:11px}
.mm-tools{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:12px;background:var(--mm-paper);border:1px solid #e7ddd8;border-radius:14px;padding:15px 18px;margin-bottom:17px}
.mm-tools label{margin:0!important;font-size:13px}.mm-search-wrap{display:flex;gap:8px}.mm-search-wrap input{min-width:0;margin:0!important}.mm-search-wrap button{flex:none}
.mm-service-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c3a6b1 transparent;padding:4px 2px 13px;margin-bottom:2px}
.mm-service-nav a{flex:none;display:block;border:1px solid #decfd4;border-radius:50px;padding:9px 15px;color:#5b3143;background:#fff;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap}
.mm-service-nav a:hover,.mm-service-nav a:focus-visible{border-color:var(--mm-wine);background:#f5eaf0}
.mm-service-nav.is-dragging,.mm-step-scroller.is-dragging{scroll-snap-type:none!important;user-select:none}
@media(hover:hover) and (pointer:fine){.mm-service-nav,.mm-step-scroller{cursor:grab}.mm-service-nav.is-dragging,.mm-step-scroller.is-dragging,.mm-service-nav.is-dragging *,.mm-step-scroller.is-dragging *{cursor:grabbing!important}}
.mm-help{font-size:12px;color:#6b5b65;margin:0 0 16px}
.mm-service{background:var(--mm-sand);border:1px solid #e5dbd6;border-radius:18px;padding:26px 20px 28px;margin:0 0 28px;scroll-margin-top:24px;overflow:hidden}
.mm-service-head{display:flex;justify-content:center;position:relative;padding-bottom:37px}
.mm-service-head::after{content:"";position:absolute;bottom:0;left:50%;height:37px;border-left:1px solid var(--mm-line)}
.mm-service-node{min-width:min(100%,330px);max-width:540px;text-align:center;background:#292125;color:#fff;border-radius:13px;padding:14px 24px 16px;box-shadow:0 14px 25px rgba(42,26,32,.12)}
.mm-service-node span{display:block;color:#e3c3d0;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.mm-service-node h2{font-size:clamp(21px,2.4vw,29px);line-height:1.18;color:#fff;margin:4px 0 3px}
.mm-service-node p{font-size:12px;color:#e8d9df;margin:0}
.mm-step-scroller{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#b99eaa transparent;padding:0 0 16px;scroll-snap-type:x proximity}
.mm-steps{display:flex;width:max-content;min-width:100%;justify-content:center;gap:17px;position:relative;padding:26px 2px 0}
.mm-steps::before{content:"";position:absolute;top:0;left:calc(132px + 2px);right:calc(132px + 2px);border-top:1px solid var(--mm-line)}
.mm-step{position:relative;display:flex;flex-direction:column;flex:none;width:264px;min-height:206px;padding:20px 16px 14px;background:#fff;border:1px solid #d9c3ae;border-radius:12px;scroll-snap-align:start}
.mm-step::before{content:"";position:absolute;top:-27px;left:50%;height:27px;border-left:1px solid var(--mm-line)}
.mm-step-number{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f5eadb;color:#795631;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}
.mm-step h3{font-family:var(--nd-display);font-size:20px;line-height:1.2;letter-spacing:-.02em;margin:10px 0 3px}
.mm-coming{margin:15px 0 0;color:#6e6363;font-size:12px;line-height:1.4}
.mm-footer{padding:10px 0 30px;color:#5f5358;font-size:13px}
.mm-backdrop{position:fixed;inset:0;background:rgba(24,17,22,.45);z-index:1000}
.mm-drawer{position:fixed;z-index:1001;top:0;right:0;bottom:0;width:min(490px,100vw);display:flex;flex-direction:column;background:#fffdfb;box-shadow:-20px 0 55px rgba(27,18,25,.18)}
.mm-drawer[hidden],.mm-backdrop[hidden]{display:none}
.mm-drawer-open{overflow:hidden}
.mm-drawer-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding:23px 22px 17px;border-bottom:1px solid #e8ded9;background:#fff}
.mm-drawer-head p{margin:0 0 3px;font-size:11px;color:#6a5b5f}.mm-drawer-head h2{font-size:27px;line-height:1.15;margin:0}
.mm-drawer-head button{display:grid;place-items:center;flex:none;width:38px;min-height:38px!important;padding:0!important;background:#f5eff1!important;color:#5e2c42!important;border-radius:50%!important;font-size:25px;line-height:1}
.mm-drawer-body{overflow-y:auto;overscroll-behavior:contain;padding:18px 20px 30px}
.mm-add{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:0!important}.mm-add label{font-size:11px;margin:0!important}
.mm-add.enlinea{display:flex}
.mm-add input[type=number]{width:70px!important;margin-top:3px!important}.mm-add button{flex:1;white-space:nowrap;font-size:12px;min-height:43px}
.mm-add .msg{flex-basis:100%;font-size:12px;min-height:0}.mm-empty{padding:20px;background:#f8f4f2;border-radius:10px;color:#554b4e}
@media(max-width:700px){
 .tienda-mayorista main{width:min(calc(100% - 24px),700px);margin-top:22px}
 .tienda-mayorista main>h1{font-size:35px}
 .mm-intro{display:block;margin-bottom:19px}.mm-intro>p{font-size:14px}.mm-links{margin-top:14px;justify-content:space-between}
 .mm-tools{display:block;padding:12px;margin-bottom:12px}.mm-tools label{display:block;margin-bottom:6px!important}.mm-search-wrap input{min-height:44px}
 .mm-service-nav{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}
 .mm-help{margin-bottom:12px}
 .mm-service{border-radius:14px;padding:20px 0 15px;margin-bottom:15px}
 .mm-service-node{min-width:0;width:min(calc(100% - 36px),360px);padding:13px 15px}
 .mm-service-head{padding-bottom:30px}.mm-service-head::after{height:30px}
 .mm-steps{justify-content:flex-start;gap:12px;padding-left:15px;padding-right:15px}
 .mm-steps::before{left:calc(15px + min(41vw,135px));right:calc(15px + min(41vw,135px))}
 .mm-step{width:min(82vw,270px);min-height:0;padding:16px 13px 12px}
 .mm-step h3{font-size:19px}
 .mm-drawer{top:auto;left:0;width:100%;height:min(92dvh,900px);border-radius:18px 18px 0 0;box-shadow:0 -16px 45px rgba(27,18,25,.2)}
 .mm-drawer-head{padding:17px 16px 13px}.mm-drawer-head h2{font-size:24px}.mm-drawer-body{padding:14px 14px max(24px,env(safe-area-inset-bottom))}
}

/* Mayorista: selección por paso, panel de opciones y modo Brian. */
.mm-service.is-empty{padding-bottom:26px}.mm-service.is-empty .mm-service-head{padding-bottom:0}.mm-service.is-empty .mm-service-head::after{display:none}
.mm-service.is-empty .mm-service-node{background:#efe8e4;color:#5d5154;box-shadow:none}.mm-service.is-empty .mm-service-node h2{color:#43383a}.mm-service.is-empty .mm-service-node span,.mm-service.is-empty .mm-service-node p{color:#7a6c70}
.mm-service-nav a.is-empty{color:#8a7b81;background:transparent;border-style:dashed}
.mm-step-body{display:flex;flex-direction:column;flex:1;margin-top:10px}
.mm-groups{display:flex;flex-direction:column;gap:7px}
.mm-group{background:#fffaf3;border:1px solid #d9b98a;border-radius:9px;padding:8px 9px}
.mm-group.is-optional{background:#faf7f5;border-color:#e6dcd6}
.mm-group-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}
.mm-group-head strong{font-size:12px;line-height:1.25;min-width:0}
.mayorista-map .mm-group-head button{flex:none;min-height:30px;padding:3px 4px!important;background:transparent;color:#2f6258;font-size:11px;font-weight:700;white-space:nowrap}
.mayorista-map .mm-group-head button:hover{background:transparent;text-decoration:underline}
.mm-rows{display:flex;flex-direction:column;gap:2px}
.mm-row{display:flex;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:500;line-height:1.25}
.mm-row input,.mm-shared-card input,.mm-option>input{width:17px;height:17px;margin:0;flex:none;accent-color:#2f6258}
.mm-row img,.mm-row .mm-thumb-empty{width:30px;height:30px;flex:none;object-fit:contain;background:#fff;border:1px solid #ebe2dd;border-radius:5px}
.mm-row span{flex:1;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mm-row b{white-space:nowrap;font-variant-numeric:tabular-nums}
.mm-thumb-empty{display:block;background:#f3ece8}
.mm-none{font-size:11px;color:#756a6d}
.mm-step-total{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #eadfd9;font-size:12px;color:#5d5255}
.mm-groups+.mm-step-total{margin-top:14px}.mm-step-body>.mm-groups{margin-bottom:auto}
.mm-step-total strong{font-size:19px;color:#2f6258;font-variant-numeric:tabular-nums}
.is-draft{opacity:.62}.is-draft:hover,.is-draft:focus-within{opacity:1}
.mm-service-foot{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:22px;margin-top:14px;padding:18px 20px;background:#fff;border:1px solid #d9b98a;border-radius:12px}
.mm-service-foot:empty{display:none}
.mm-eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8a5c1c}
.mm-shared h3{font-family:var(--nd-display);font-size:21px;line-height:1.2;margin:4px 0 3px}.mm-shared p{font-size:12px;color:#5d5255;margin:0 0 10px}
.mm-shared-list{display:flex;flex-wrap:wrap;gap:8px}
.mm-shared-card{display:flex;align-items:center;gap:9px;width:250px;max-width:100%;min-height:74px;padding:8px 10px;border:1px solid #d9b98a;border-radius:9px;background:#fffaf3}
.mm-shared-card img,.mm-shared-card .mm-thumb-empty{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:5px}
.mm-shared-card span{display:flex;flex-direction:column;gap:1px;min-width:0}
.mm-shared-card em{font-style:normal;font-size:10px;font-weight:700;color:#8a5c1c}
.mm-shared-card b{font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mm-shared-card strong{font-size:13px;color:#2f6258;font-variant-numeric:tabular-nums}
.mayorista-map .mm-more{margin-top:11px;min-height:38px;padding:7px 13px!important;background:#fff;border:1px solid #7b9c93;color:#2f6258;font-size:12px}
.mayorista-map .mm-more:hover{background:#eaf4ef}
.mm-grand{display:flex;flex-direction:column;gap:2px;padding-left:22px;border-left:1px solid #eadfd9}
.mm-grand small{font-size:11px}.mm-grand>strong{font-family:var(--nd-display);font-size:32px;line-height:1.15;color:#2f6258;font-variant-numeric:tabular-nums}.mm-grand>span{font-size:11px;color:#6a5d61}
.mayorista-map form.mm-add-all{margin:11px 0 0;padding:0;background:none;box-shadow:none;border-radius:0}
.mm-add-all button{width:100%}.mm-add-all button:disabled{cursor:not-allowed}.mm-add-all .msg{display:block;font-size:12px;margin-top:6px;min-height:18px}
.mm-drawer-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 22px max(14px,env(safe-area-inset-bottom));background:#292125;color:#fff}
.mm-drawer-foot[hidden]{display:none}.mm-drawer-foot small{color:#e8d9df;font-size:12px}.mm-drawer-foot strong{font-size:23px;font-variant-numeric:tabular-nums}
.mm-note{font-size:13px;color:#5d5255;margin:0 0 13px}
.mm-option{display:grid;grid-template-columns:auto 116px minmax(0,1fr);align-items:start;gap:12px;padding:12px;margin-bottom:9px;background:#fff;border:1px solid #e7dcd7;border-radius:11px;cursor:pointer}
.mm-option.is-chosen{background:#edf6f1;border-color:#5c9082}
.mm-option>img,.mm-option>.mm-thumb-empty{width:116px;height:116px;object-fit:contain;background:#f8f4f2;border-radius:7px}
.mm-option>input{margin-top:3px}
.mm-option-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.mm-option-name{font-size:14px;line-height:1.3}
.mm-option-copy>small{font-size:12px;line-height:1.4}
.mm-option-copy>strong{font-size:18px;color:#5e2740;font-variant-numeric:tabular-nums}.mm-option-copy>strong span{font-size:11px;font-weight:500;color:#6a5d61}
.mm-badge{display:inline-block;padding:2px 7px;border-radius:5px;background:#f5e8cd;color:#765007;font-size:11px;font-weight:700}
.mm-badge.is-cart{background:#e4eef6;color:#234e70}
.mm-drawer form.mm-add{width:100%;margin:6px 0 0;padding:0;background:none;box-shadow:none}
/* Modo Brian */
.mm-brian-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 20px;padding:10px 14px;background:#1f2a33;color:#e9f1f6;border-radius:10px;font-size:13px}
.mm-brian-bar b{color:#ffd88a}.mm-brian-bar a{color:#fff;margin-left:auto;font-weight:700}.mm-brian-bar .msg{color:#bfe6cf}
.mm-brian-bar button,.mm-admin button,.mm-brian-tools button,.mm-newcat button,.mm-existing-row button{min-height:32px;padding:4px 11px!important;background:#31404c;border-radius:7px;font-size:12px}
.mm-brian-bar button:hover,.mm-admin button:hover,.mm-brian-tools button:hover,.mm-newcat button:hover,.mm-existing-row button:hover{background:#1f2a33}
.mm-admin{width:100%;margin-top:6px;padding:9px 10px;background:#eef2f5;border:1px dashed #9db0bd;border-radius:8px;font-size:12px;cursor:default}
.mm-admin p{margin:0 0 6px;line-height:1.45}.mm-admin i{color:#a04a12;font-weight:700}.mm-offers{display:block;margin-bottom:6px}
.mm-admin-actions{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.mm-admin .msg,.mm-brian-tools .msg,.mm-newcat .msg{font-size:11px}
.mm-admin summary,.mm-brian-tools summary{cursor:pointer;font-weight:700;color:#31404c;padding:5px 0}
.mm-drawer form.mm-pform,.mm-drawer .mm-brian-tools form.mm-bform{margin:6px 0 4px;padding:0;background:none;box-shadow:none}
.mm-pform label{margin:7px 0!important;font-size:12px}.mm-pform input:not([type=checkbox]){min-height:38px!important;padding:7px 9px!important;margin-top:3px!important;font-size:13px}
.mm-pform-2{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mm-pform label.mm-check{display:flex;align-items:center;gap:7px}
.mm-brian-tools{margin-top:16px;padding:10px 12px;background:#eef2f5;border:1px dashed #9db0bd;border-radius:10px;font-size:13px}
.mm-brian-tools details+details{border-top:1px solid #d3dde4}
.mm-brian-tools .mm-danger{background:#8f2f2f}.mm-brian-tools .mm-danger:hover{background:#6f1f1f}
.mm-brian-tools form.mm-existing-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;margin:6px 0;font-size:12px}
.mm-existing-row img,.mm-existing-row .mm-thumb-empty{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:5px}.mm-existing-row .msg{grid-column:1/-1}
.mayorista-map form.mm-newcat{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.mm-newcat input{flex:1;min-width:0;min-height:32px!important;padding:4px 8px!important;margin:0!important;font-size:12px}.mm-newcat .msg{flex-basis:100%}
@media(max-width:700px){
 .mm-service-foot{grid-template-columns:1fr;margin:12px 13px 0;padding:15px}
 .mm-grand{padding:14px 0 0;border-left:0;border-top:1px solid #eadfd9}
 .mm-shared-card{width:100%}
 .mm-option{grid-template-columns:auto 92px minmax(0,1fr);gap:10px;padding:10px}.mm-option>img,.mm-option>.mm-thumb-empty{width:92px;height:92px}
 .mm-drawer-foot{padding-left:16px;padding-right:16px}
 .mm-row{min-height:44px}.mayorista-map .mm-group-head button{min-height:40px}
}
.mm-soon{margin:0 0 20px;padding:14px 18px;background:#faf7f3;border:1px dashed #d8c9c0;border-radius:12px;font-size:13px;color:#5d5154}
.mm-service-node form{display:block;margin-top:9px}.mm-service-node button{min-height:30px;padding:3px 11px!important;background:#4a3d43;font-size:11px;border-radius:7px}.mm-service-node .msg{display:block;font-size:11px;color:#e8d9df}
.mm-service.is-unpublished{border-style:dashed}
/* Mayorista: la casilla marca; el resto del producto abre su ficha. */
.mayorista-map .mm-view{display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:0;padding:2px 0!important;background:none;border-radius:6px;color:inherit;font:inherit;text-align:left;cursor:pointer}
.mayorista-map .mm-view:hover{background:none}.mm-view:hover span,.mm-view:hover b:not(:last-child){text-decoration:underline}
.mm-shared-card .mm-view{gap:9px}.mm-shared-card .mm-view>span{display:flex;flex-direction:column;gap:1px;min-width:0}
.mm-option{cursor:pointer}.mm-option>input{cursor:pointer}
.mm-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgba(24,17,22,.62);overflow-y:auto}
.mm-modal[hidden]{display:none}.mm-modal-open{overflow:hidden}
.mm-modal-box{position:relative;width:min(880px,100%);background:#fffdfb;border-radius:18px;box-shadow:0 30px 80px rgba(20,12,17,.35);overflow:hidden}
.mm-modal-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.mm-modal-image{display:grid;place-items:center;background:#f8f4f2;min-height:420px}
.mm-modal-image img{display:block;width:100%;max-height:min(72vh,620px);object-fit:contain}.mm-modal-image .mm-thumb-empty{width:100%;height:100%;min-height:300px}
.mm-modal-copy{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:52px 30px 30px}
.mm-modal-copy h2{font-size:clamp(22px,2.6vw,29px);line-height:1.2;margin:2px 0 0}.mm-modal-copy p{margin:0;font-size:14px;color:#5d5255}
.mm-modal-price{font-size:30px!important;font-weight:700;color:#5e2740!important;font-variant-numeric:tabular-nums;margin-top:6px!important}.mm-modal-price span{font-size:12px;font-weight:500;color:#6a5d61}
.mm-modal-pick{width:100%;margin-top:10px}.mm-modal-pick.is-on{background:#fff;color:#5e2740;box-shadow:inset 0 0 0 1.5px #5e2740}.mm-modal-pick.is-on:hover{background:#f6ecf0}
.mm-modal-state{font-size:13px!important}.mm-modal-copy form.mm-add{width:100%;margin:10px 0 0;padding:0;background:none;box-shadow:none}
.mm-modal-close{position:absolute;top:12px;right:12px;z-index:1;display:grid;place-items:center;width:40px;min-height:40px;padding:0!important;border-radius:50%;background:#f5eff1;color:#5e2c42;font-size:25px;line-height:1}
.mm-modal-close:hover{background:#ead9e0}
@media(max-width:700px){
 .mm-modal{padding:0;place-items:end center}.mm-modal-box{border-radius:18px 18px 0 0;max-height:94dvh;overflow-y:auto}
 .mm-modal-body{grid-template-columns:1fr}.mm-modal-image{min-height:0}.mm-modal-image img{max-height:46vh}
 .mm-modal-copy{padding:18px 18px max(22px,env(safe-area-inset-bottom))}
 .mayorista-map .mm-view{min-height:44px}
}
.mm-grand:only-child{grid-column:1/-1;padding-left:0;border-left:0;border-top:0;padding-top:0}.mm-grand:only-child .mm-add-all{max-width:320px}
/* Mayorista: barra fija de rubros (padres) y servicios (hijas); se marca sola al recorrer la página. */
.mm-sticky{position:sticky;top:0;z-index:60;margin:0 -12px 12px;padding:10px 12px 2px;background:var(--nd-bg);border-bottom:1px solid transparent}
.mm-sticky.is-stuck{border-bottom-color:#e3d6d0;box-shadow:0 12px 22px -18px rgba(42,26,32,.45)}
.mm-service{scroll-margin-top:calc(var(--mm-sticky-h,150px) + 10px)}
.mm-rubros{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:0 0 9px}.mm-rubros::-webkit-scrollbar{display:none}
.mayorista-map .mm-rubros button{display:flex;align-items:center;gap:10px;flex:1 0 auto;min-height:56px;padding:6px 14px 6px 7px!important;background:#fff;border:1px solid #e3d6d0;border-radius:12px;color:#33292c;text-align:left}
.mayorista-map .mm-rubros button:hover{background:#fdf7f9;border-color:#b9899e}
.mayorista-map .mm-rubros button.is-active{background:#292125;border-color:#292125;color:#fff}
.mm-rubros img,.mm-rubros .mm-thumb-empty{width:42px;height:42px;flex:none;object-fit:cover;border-radius:8px;background:#f3ece8}
.mm-rubros span{display:flex;flex-direction:column;min-width:0}.mm-rubros b{font-family:var(--nd-display);font-size:17px;line-height:1.2;white-space:nowrap}
.mm-rubros small{font-size:11px;color:#6b5b65;white-space:nowrap}.mm-rubros .is-active small{color:#e3c3d0}
.mm-sticky .mm-service-nav{margin-bottom:0;padding:1px 2px 9px;scrollbar-width:none}.mm-sticky .mm-service-nav::-webkit-scrollbar{display:none}
.mm-service-nav a{display:flex;align-items:center;gap:7px;padding:4px 14px 4px 4px;min-height:36px}
.mm-service-nav a[hidden],.mm-service[hidden]{display:none}
.mm-service-nav a img,.mm-service-nav a .mm-thumb-empty{width:28px;height:28px;flex:none;object-fit:cover;border-radius:50%;background:#f3ece8}
.mm-service-nav a.is-active{background:var(--mm-wine);border-color:var(--mm-wine);color:#fff;border-style:solid}
.mm-service-node{position:relative}
.mm-service-node>img{display:block;width:84px;height:84px;margin:-46px auto 9px;object-fit:cover;border-radius:50%;border:4px solid #292125;background:#fff;box-shadow:0 8px 18px rgba(42,26,32,.2)}
.mm-service:has(.mm-service-node>img){padding-top:58px}
.mm-service.is-empty .mm-service-node>img{border-color:#efe8e4}
@media(max-width:700px){
 .mm-sticky{margin:0 -12px 10px;padding-top:8px}
 .mayorista-map .mm-rubros button{flex:0 0 auto;min-height:46px;padding:4px 11px 4px 5px!important;gap:8px}
 .mm-rubros img,.mm-rubros .mm-thumb-empty{width:36px;height:36px}.mm-rubros b{font-size:15px}.mm-rubros small{display:none}
 .mm-sticky .mm-service-nav{margin-left:0;margin-right:0;padding-left:2px;padding-right:2px}
 .mm-service-node>img{width:68px;height:68px;margin-top:-40px}.mm-service:has(.mm-service-node>img){padding-top:48px}
}
/* Mayorista: en cada paso, el producto marcado se ve como una tarjeta: foto a la izquierda, nombre y precio al lado. */
.mm-step{width:288px}
.mm-steps::before{left:calc(144px + 2px);right:calc(144px + 2px)}
.mm-rows{gap:7px}
.mm-row{position:relative;display:block;min-height:0}
.mm-row>input{position:absolute;top:5px;left:5px;z-index:1;width:20px;height:20px;border-radius:5px;box-shadow:0 0 0 2px rgba(255,255,255,.95)}
.mayorista-map .mm-row .mm-view{display:grid;grid-template-columns:78px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:3px 11px;width:100%;padding:0!important}
.mm-row .mm-view img,.mm-row .mm-view .mm-thumb-empty{grid-row:1/span 2;width:78px;height:78px;object-fit:cover;border-radius:9px;border:1px solid #ebe2dd;background:#fff}
.mm-row .mm-view span{align-self:end;font-size:13px;font-weight:600;line-height:1.3;-webkit-line-clamp:2}
.mm-row .mm-view b{align-self:start;font-size:15px;color:#2f6258}
@media(max-width:700px){.mm-step{width:min(84vw,300px)}.mm-steps::before{left:calc(15px + min(42vw,150px));right:calc(15px + min(42vw,150px))}}
/* Mayorista: recomendado que se quitó. Queda chico y apagado, con "Restaurar". */
.mm-row.is-removed{display:flex;align-items:center;gap:6px;opacity:.55}.mm-row.is-removed:hover,.mm-row.is-removed:focus-within{opacity:1}
.mayorista-map .mm-row.is-removed .mm-view{display:flex;align-items:center;gap:8px;flex:1;min-width:0;width:auto}
.mm-row.is-removed .mm-view img,.mm-row.is-removed .mm-view .mm-thumb-empty{width:34px;height:34px;flex:none;border-radius:6px;filter:grayscale(1)}
.mm-row.is-removed .mm-view span{align-self:center;font-size:11px;font-weight:500;text-decoration:line-through;-webkit-line-clamp:1}
.mayorista-map .mm-restore{flex:none;min-height:30px;padding:3px 9px!important;background:#fff;border:1px solid #7b9c93;border-radius:7px;color:#2f6258;font-size:11px;font-weight:700}
.mayorista-map .mm-restore:hover{background:#eaf4ef}
@media(max-width:700px){.mayorista-map .mm-restore{min-height:40px}}
/* Mayorista: video de cada servicio y paso. Se abre grande y se puede dejar flotando abajo. */
.mm-step-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 3px}.mm-step-title h3{margin:0}
.mayorista-map .mm-play{display:grid;place-items:center;flex:none;width:34px;min-height:34px;padding:0!important;border-radius:50%;background:#682843;color:#fff;box-shadow:0 4px 10px rgba(104,40,67,.25)}
.mayorista-map .mm-play:hover{background:#4f1e33;transform:scale(1.06)}
.mm-play svg,.mm-play-service svg{width:16px;height:16px;fill:currentColor;margin-left:2px}
.mayorista-map .mm-play-service{display:inline-flex;align-items:center;gap:7px;margin:9px 0 2px;min-height:34px;padding:5px 14px 5px 10px!important;border-radius:50px;background:#fff;color:#292125;font-size:12px}
.mayorista-map .mm-play-service:hover{background:#f5e8ee}
.mm-video{position:fixed;inset:0;z-index:1200;pointer-events:none}.mm-video[hidden]{display:none}
.mm-video-backdrop{position:absolute;inset:0;background:rgba(20,13,17,.72);pointer-events:auto}
.mm-video.is-docked .mm-video-backdrop{display:none}
.mm-video-box{position:absolute;left:50%;top:50%;width:min(960px,calc(100vw - 32px));transform:translate(-50%,-50%);pointer-events:auto;background:#171214;color:#fff;border-radius:16px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);transition:width .25s ease,border-radius .25s ease}
.mm-video.is-docked .mm-video-box{left:auto;top:auto;right:18px;bottom:18px;width:min(380px,calc(100vw - 24px));transform:none;border-radius:12px}
.mm-video-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px}
.mm-video-head p{display:flex;flex-direction:column;margin:0;min-width:0}.mm-video-head span{font-size:11px;color:#c9b3bd}
.mm-video-head b{font-family:var(--nd-display);font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mm-video.is-docked .mm-video-head{padding:7px 9px}.mm-video.is-docked .mm-video-head b{font-size:14px}
.mm-video-actions{display:flex;align-items:center;gap:6px;flex:none}
.mm-video-actions button{min-height:34px;padding:5px 12px!important;border-radius:8px;background:#2f262a;color:#fff;font-size:12px}
.mm-video-actions button:hover{background:#463a3f}
.mm-video-actions .mm-video-close{width:34px;padding:0!important;font-size:22px;line-height:1}
.mm-video .mm-video-expand,.mm-video.is-docked .mm-video-dock,.mm-video:not(.has-video) .mm-video-dock{display:none}
.mm-video.is-docked .mm-video-expand{display:inline-block}
.mm-video-frame{position:relative;aspect-ratio:16/9;background:#000}
.mm-video-frame .plyr{position:absolute;inset:0;height:100%;--plyr-color-main:#c2607f}
.mm-video-frame>video{width:100%;height:100%}
.mm-video-empty{position:absolute;inset:0;display:none;place-content:center;gap:4px;text-align:center;background:radial-gradient(circle at 50% 40%,#3a2a31,#120d10);color:#e8d9df}
.mm-video:not(.has-video) .mm-video-empty{display:grid}.mm-video:not(.has-video) .plyr{visibility:hidden}
.mm-video-empty b{font-family:var(--nd-display);font-size:28px;color:#fff}.mm-video-empty span{font-size:14px}
.mm-video-admin:empty{display:none}.mm-video.is-docked .mm-video-admin{display:none}
.mm-video form.mm-video-form{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:12px 14px;background:#1f2a33;border-radius:0;box-shadow:none}
.mm-video-form input{flex:1;min-width:200px;margin:0!important;min-height:38px!important}.mm-video-form .msg{flex-basis:100%;font-size:12px;color:#bfe6cf}
.mm-video-open{overflow:hidden}
@media(max-width:700px){
 .mm-video-box{width:100%;top:auto;bottom:0;left:0;transform:none;border-radius:16px 16px 0 0}
 .mm-video.is-docked .mm-video-box{right:12px;bottom:12px;left:auto;width:calc(100vw - 24px);border-radius:12px}
 .mm-video-head b{font-size:16px}.mm-video-actions button{min-height:40px}
}
/* Mayorista: necesidad sin proveedor todavía. La afiliada ve «Muy pronto»; en modo Brian se resalta y se lista arriba. */
.mm-group.is-missing .mm-none{color:#9a6b12;font-style:italic}
.is-brian .mm-group.is-missing{outline:2px dashed #e0a43a;outline-offset:2px;border-radius:10px}
.mm-faltan{flex-basis:100%;margin-top:6px;background:#fff;border:1px solid #e9dcc4;border-radius:10px;padding:8px 12px;max-height:60vh;overflow:auto}
.mm-faltan summary{cursor:pointer;font-weight:700;color:#8a5a00}
.mm-faltan h4{margin:10px 0 4px;font-size:13px}
.mm-faltan ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6}
.mm-faltan em{color:#9a6b12;font-size:12px}
.mm-faltan,.mm-faltan h4,.mm-faltan li{color:#2c2629;text-align:left}
.mm-brian-bar .mm-faltan a{display:inline;padding:0;margin:0;background:none;border:0;color:#2f6258;font-weight:500;text-decoration:underline}
.mm-faltan li b{color:#2c2629}
/* Modo Brian: guion de los videos de cada servicio y paso */
.mayorista-map .mm-guion-btn{flex:none;margin-left:6px;padding:4px 9px;border:1px dashed #b07a90;border-radius:999px;background:#fff;color:#7a3c55;font-size:11px;font-weight:700}
.mayorista-map .mm-guion-btn:hover{background:#fdf0f5}
.mm-service-node .mm-guion-btn{margin:6px 0 0}
.mm-guion .mm-escena{margin:0 0 12px;padding:10px 12px;border:1px solid #eadfe3;border-radius:10px;background:#fffdfd}
.mm-guion legend{padding:0 4px;font-weight:700;font-size:13px;color:#7a3c55}
.mm-guion label{display:block;margin:6px 0;font-size:12px;font-weight:600;color:#5a5155}
.mm-guion label small{font-weight:400;color:#8a8085}
.mm-guion input,.mm-guion select,.mm-guion textarea{display:block;width:100%;margin-top:3px;font:inherit;font-size:13px;font-weight:400}
.mm-guion textarea{resize:vertical;line-height:1.45}
.mm-escena-img{display:flex;gap:10px;align-items:flex-start;margin-top:6px}
.mm-escena-prev{flex:none;width:96px;height:72px;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(135deg,#f7eef1 0 10px,#fbf5f7 10px 20px);display:flex;align-items:center;justify-content:center;font-size:11px;color:#a0516d;text-align:center}
.mm-escena-prev img{width:100%;height:100%;object-fit:cover}
.mm-escena-img button,.mm-escena-subir{display:inline-block;margin:0 6px 4px 0;padding:5px 10px;border:1px solid #e3c7d2;border-radius:7px;background:#fff;color:#7a3c55;font-size:12px;font-weight:700;cursor:pointer}
.mm-guion .mm-escena-subir{display:inline-block;width:auto}
.mm-escena-img small{display:block;color:#8a8085;font-size:11px}
.mm-escena:focus-within{border-color:#d9a6ba}
.mm-guion input[type=file]{display:none}

/* Marca de agua personal sobre las clases pagas (nombre y DNI) */
.video-marca{position:relative;background:#000;line-height:0;margin:0 0 12px}
.video-marca video{display:block;width:100%}
.video-marca .marca{position:absolute;top:12%;left:8%;z-index:2;pointer-events:none;color:rgba(255,255,255,.5);text-shadow:0 0 2px rgba(0,0,0,.25);letter-spacing:.02em;font:600 clamp(11px,2.4vw,18px)/1.2 system-ui,sans-serif;white-space:nowrap;transition:top 1.5s,left 1.5s}
.video-marca .pantalla-completa{position:absolute;top:8px;right:8px;z-index:3;width:auto;min-height:0;margin:0;background:rgba(0,0,0,.5);color:#fff;border:0;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1;cursor:pointer;box-shadow:none}
.video-marca:fullscreen{display:flex;align-items:center;justify-content:center}
.video-marca:fullscreen video{height:100%;object-fit:contain}
.video-marca:fullscreen .marca{font-size:clamp(16px,1.8vw,30px)}

/* Panel: botones, primeros pasos, agenda, servicios y Mi cuenta (octubre 2026) */
.mi-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--nd-muted)}
button.chico{min-height:32px;padding:4px 12px!important;font-size:13px;background:var(--nd-rose);color:var(--nd-plum)}
button.chico:hover{background:#e7d3dc}
.pasos{background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:18px 20px;margin:20px 0}
.pasos p{margin:0 0 10px}
.barra{height:6px;background:var(--nd-rose);border-radius:9px;overflow:hidden}
.barra i{display:block;height:100%;background:var(--nd-plum)}
.pasos ol{list-style:none;padding:0;margin:12px 0 0}
.pasos li{padding:9px 0;border-top:1px solid var(--nd-line);font-size:14px}
.pasos li a{font-weight:600;text-decoration:none}
.pasos li.hecho{color:var(--nd-muted)}
main h2{font-size:22px}
.site-header .quien{color:var(--nd-muted)}
.volver{margin:0 0 10px!important;font-size:14px!important}
.volver a{display:inline-block;padding:6px 10px 6px 0}
a.boton{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 19px;border-radius:9px;background:var(--nd-plum);color:#fff;font-weight:700;text-decoration:none;border:1px solid var(--nd-plum)}
a.boton:hover{background:var(--nd-plum-dark);color:#fff}
a.boton.sec{background:#fff;color:var(--nd-plum);border-color:var(--nd-line)}
a.boton.sec:hover{border-color:#a9778d;background:#fdf9fa;color:var(--nd-plum)}
.acciones-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px}
.segmentos{display:inline-flex;border:1px solid var(--nd-line);border-radius:10px;overflow:hidden;background:#fff}
.segmentos a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;text-decoration:none;font-weight:700;color:var(--nd-plum);border-right:1px solid var(--nd-line)}
.segmentos a:last-child{border-right:0}
.segmentos a.activo{background:var(--nd-rose)}
.ir-dia input[type=date]{margin:0!important;min-height:44px;width:auto!important}
.vacio{background:#fff;border:1px dashed #d8c6cf;border-radius:14px;padding:22px;text-align:center;margin:10px 0 20px}
.vacio p{color:var(--nd-muted)}
ul.menu a.con-precio{display:flex;justify-content:space-between;align-items:center;gap:14px}
ul.menu a.con-precio strong{color:var(--nd-plum);font-size:17px;white-space:nowrap}
.estado-membresia{background:#fff;border:1px solid var(--nd-line);border-left:5px solid #c9a35a;border-radius:14px;padding:18px 20px;margin:8px 0 18px}
.estado-membresia.ok{border-left-color:#2f8a5b}
.estado-membresia .titulo-estado{font:600 22px var(--nd-display);margin:0 0 6px}
.estado-membresia p:last-child{margin:0}
main details{margin:12px 0 22px}
main details>summary{cursor:pointer;font-weight:700;color:var(--nd-plum);padding:6px 0}
@media(max-width:520px){.acciones-top{gap:8px}.acciones-top .boton{flex:1}}

/* Encabezado y pie del mismo ancho que el contenido de cada pagina */
.site-header,.site-footer{width:min(calc(100% - 48px),760px)}
.sitio-negocio .site-header,.sitio-negocio .site-footer{width:min(calc(100% - 48px),840px)}
.portada-negocio .site-header,.portada-negocio .site-footer{width:min(calc(100% - 48px),720px)}
.flujo-reserva .site-header,.flujo-reserva .site-footer{width:min(calc(100% - 48px),690px)}
.tienda-mayorista .site-header,.tienda-mayorista .site-footer{width:min(calc(100% - 48px),1320px)}
@media(max-width:600px){.site-header,.site-footer,.sitio-negocio .site-header,.sitio-negocio .site-footer,.portada-negocio .site-header,.portada-negocio .site-footer,.flujo-reserva .site-header,.flujo-reserva .site-footer,.tienda-mayorista .site-header,.tienda-mayorista .site-footer{width:min(calc(100% - 32px),760px)}}

/* Inicio del panel: pendiente > principales > recomendado > todo lo demas */
.pendiente{background:#fff;border:1px solid var(--nd-line);border-radius:14px;margin:22px 0 14px;overflow:hidden}
.pendiente p{margin:0;padding:16px 18px;color:#2f6b4c;font-weight:600}
.pendiente a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;text-decoration:none;color:var(--nd-ink);border-top:1px solid var(--nd-line);border-left:4px solid var(--nd-plum)}
.pendiente a:first-child{border-top:0}
.pendiente a b{color:var(--nd-plum);white-space:nowrap;font-size:14px}
.pendiente a:hover{background:#fdf9fa}
.principales{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}
.principales a{display:flex;flex-direction:column;gap:4px;padding:18px;border:1px solid var(--nd-line);border-radius:14px;background:#fff;color:var(--nd-ink);text-decoration:none}
.principales a b{font:600 21px var(--nd-display)}
.principales a span{font-size:13px;color:var(--nd-muted)}
.principales a:hover{border-color:#a9778d;box-shadow:0 8px 24px rgba(69,29,45,.08)}
.nuevo-turno{margin:0 0 30px}
.recomendado{background:var(--nd-rose);border-radius:16px;padding:20px 22px;margin:0 0 34px}
.recomendado .etiqueta{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--nd-plum);margin:0 0 6px}
.recomendado .que-sigue{font:500 20px/1.3 var(--nd-display);margin:0 0 14px}
.recomendado .extras{margin:14px 0 0;font-size:14px}
.todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 20px;border-top:1px solid var(--nd-line);padding-top:22px}
.todo h3{font:700 12px var(--nd-body);letter-spacing:.06em;text-transform:uppercase;color:var(--nd-muted);margin:0 0 8px}
.todo ul{list-style:none;padding:0;margin:0 0 18px}
.todo li{margin:0}
.todo a{display:block;padding:5px 0;text-decoration:none;font-size:14px}
.todo a:hover{text-decoration:underline}
@media(max-width:520px){.principales{grid-template-columns:1fr;gap:8px}.principales a{flex-direction:row;align-items:center;gap:12px;padding:14px 16px}.principales a .ico{margin:0}.principales a b{font-size:18px}.principales a span{margin-left:auto}.nuevo-turno .boton{width:100%}}

/* Iconos, menu del panel y cuenta (Lucide) */
.ico{width:18px;height:18px;flex:none;vertical-align:-3px;stroke-width:1.8}
.site-header{gap:14px}
.site-header .logo{flex:none}
.tabs{display:flex;gap:2px;margin-left:auto}
.tabs a{display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:9px;text-decoration:none;color:var(--nd-muted);font-weight:600;font-size:14px}
.tabs a:hover{background:var(--nd-rose);color:var(--nd-plum)}
.tabs a.activo{background:var(--nd-rose);color:var(--nd-plum)}
.usuario{position:relative;flex:none}
.usuario summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:9px;font-weight:600;font-size:14px;color:var(--nd-ink)}
.usuario summary::-webkit-details-marker{display:none}
.usuario[open] summary,.usuario summary:hover{background:var(--nd-rose)}
.usuario .desplegable{position:absolute;right:0;top:calc(100% + 6px);min-width:230px;background:#fff;border:1px solid var(--nd-line);border-radius:12px;box-shadow:0 14px 40px rgba(60,35,48,.14);padding:6px;z-index:40}
.usuario .desplegable a{display:flex;gap:10px;align-items:center;padding:10px;border-radius:8px;text-decoration:none;color:var(--nd-ink);font-size:14px}
.usuario .desplegable a:hover{background:var(--nd-rose)}
.volver a{display:inline-flex!important;align-items:center;gap:6px}
.pendiente a{justify-content:flex-start!important}
.pendiente a span{flex:1}
.pendiente a .ico{color:var(--nd-plum)}
.pendiente p .ico{color:#2f8a5b}
.principales a .ico{width:22px;height:22px;color:var(--nd-plum);margin-bottom:6px}
.recomendado .etiqueta{display:flex;align-items:center;gap:6px}
.boton .ico,button .ico{margin-right:4px}
button.chico{display:inline-flex;align-items:center;gap:2px}
@media(max-width:720px){
  .tabs{position:fixed;left:0;right:0;bottom:0;z-index:30;margin:0;justify-content:space-around;background:#fff;border-top:1px solid var(--nd-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(60,35,48,.06)}
  .tabs a{flex:1;flex-direction:column;gap:3px;padding:6px 2px;font-size:11px;border-radius:10px}
  .tabs a .ico{width:22px;height:22px}
  .con-tabs .page-shell{padding-bottom:74px}
  .usuario summary span{display:none}
}
@media(min-width:721px){
  .con-tabs .site-header{flex-wrap:wrap;row-gap:0;padding-top:14px;min-height:0}
  .con-tabs .usuario{margin-left:auto}
  .con-tabs .tabs{order:3;width:100%;margin:8px 0 -1px;gap:6px}
  .con-tabs .tabs a{border-radius:0;padding:10px 6px 12px;border-bottom:2px solid transparent;background:none}
  .con-tabs .tabs a:hover{background:none;color:var(--nd-plum)}
  .con-tabs .tabs a.activo{background:none;border-bottom-color:var(--nd-plum);color:var(--nd-plum)}
}

/* Submenu de la seccion (Tienda: mi tienda, pedidos, insumos mayoristas...) */
.subtabs{width:min(calc(100% - 48px),760px);margin:14px auto 0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.subtabs::-webkit-scrollbar{display:none}
.subtabs a{flex:none;padding:7px 13px;border-radius:999px;border:1px solid var(--nd-line);background:#fff;color:var(--nd-muted);text-decoration:none;font-size:13px;font-weight:600;white-space:nowrap}
.subtabs a:hover{border-color:#a9778d;color:var(--nd-plum)}
.subtabs a.activo{background:var(--nd-plum);border-color:var(--nd-plum);color:#fff}
.tienda-mayorista .subtabs{width:min(calc(100% - 48px),1320px)}
.con-tabs main{margin-top:30px}
.principales{grid-template-columns:repeat(4,1fr)}
@media(max-width:720px){.subtabs{width:100%;padding:0 16px 2px;margin-top:10px}}
@media(min-width:521px) and (max-width:720px){.principales{grid-template-columns:1fr 1fr}}

/* Todo el panel con el mismo ancho que la tienda mayorista: encabezado, submenu, contenido y pie no saltan */
.con-tabs .site-header,.con-tabs .site-footer,.con-tabs .subtabs,.con-tabs main,.con-tabs.tienda-mayorista main,.con-tabs.tienda-mayorista .site-header,.con-tabs.tienda-mayorista .site-footer,.con-tabs.tienda-mayorista .subtabs{width:min(calc(100% - 48px),1200px)}
/* Las listas aprovechan el ancho en columnas; formularios y textos largos quedan a un ancho comodo de leer */
.con-tabs:not(.tienda-mayorista) ul.menu{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.con-tabs:not(.tienda-mayorista) form.ajax:not(.enlinea),.con-tabs:not(.tienda-mayorista) main>p,.con-tabs:not(.tienda-mayorista) main>details,.con-tabs:not(.tienda-mayorista) main>ol,.con-tabs:not(.tienda-mayorista) main>pre,.con-tabs:not(.tienda-mayorista) .aviso,.con-tabs .tarjeta,.con-tabs .estado-membresia{max-width:760px}
.con-tabs main video,.con-tabs .video-marca{max-width:960px}
@media(max-width:720px){.con-tabs .site-header,.con-tabs .site-footer,.con-tabs main,.con-tabs.tienda-mayorista main{width:min(calc(100% - 32px),1200px)}.con-tabs .subtabs,.con-tabs.tienda-mayorista .subtabs{width:100%}}

/* Placeholders, buscador en una linea y Mi cuenta en dos columnas */
::placeholder{color:#a59aa0;opacity:1}
.oculto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
form.buscador{display:flex;gap:8px;max-width:560px;margin:0 0 8px}
form.buscador input{margin:0!important;flex:1}
.contador{color:var(--nd-muted);font-size:14px}
.mi-link .a-cuenta{display:inline-flex;align-items:center;gap:5px;margin-left:auto;font-weight:600;font-size:14px;text-decoration:none}
.cuenta{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:36px;align-items:start}
.cuenta-lateral{order:2;position:sticky;top:20px;background:#fff;border:1px solid var(--nd-line);border-radius:16px;padding:20px 22px}
.cuenta-lateral .estado-membresia{border:0;border-left:5px solid #2f8a5b;border-radius:10px;background:#f7faf8;margin:0 0 12px;max-width:none}
/* Tarjeta del estado: verde activa, dorada esperando el primer pago, ámbar con el pago atrasado o pausada, gris cancelada */
.cuenta-lateral .estado-membresia.estado-pendiente{border-left-color:#c9a35a;background:#fbf7ee}
.cuenta-lateral .estado-membresia.estado-en_gracia,.cuenta-lateral .estado-membresia.estado-pausada{border-left-color:#d08a2e;background:#fdf5ea}
.cuenta-lateral .estado-membresia.estado-cancelada{border-left-color:#9b8a92;background:#f3f0f1}
.cuenta-lateral .estado-membresia.estado-cancelada .titulo-estado{color:var(--nd-muted)}
.cuenta-lateral h2{font-size:19px;margin:24px 0 8px}
.cuenta-lateral details{margin:8px 0 12px}
.cuenta-principal{order:1;min-width:0}
.cuenta-principal>h2:first-child{margin-top:0}
.cuenta-principal form.ajax:not(.enlinea){max-width:none}
@media(max-width:960px){.cuenta{grid-template-columns:1fr}.cuenta-lateral{order:0;position:static}}

/* Submenu con separador entre el dia a dia y lo que se configura una vez */
.subtabs .sep{flex:none;width:1px;background:var(--nd-line);margin:4px 6px}
/* Agenda: dia como linea de tiempo, semana en columnas, mes en grilla. El color dice el estado */
.turnos-dia a{display:grid!important;grid-template-columns:64px 1fr auto;gap:14px;align-items:start;border-left:4px solid #c9a35a!important}
.turnos-dia .hora{font:600 18px/1.1 var(--nd-display);color:var(--nd-plum)}
.turnos-dia .hora small{display:block;font:400 12px var(--nd-body);color:var(--nd-muted);margin-top:3px}
.turnos-dia .estado{text-align:right;font-size:13px;font-weight:600}
.turnos-dia .estado small{display:block;font-weight:400}
.est-confirmado,.turnos-dia a.est-confirmado{border-left-color:#2f8a5b!important}
.est-pendiente_confirmacion,.est-bloqueado,.turnos-dia a.est-pendiente_confirmacion,.turnos-dia a.est-bloqueado{border-left-color:#d4892b!important}
.est-en_atencion,.turnos-dia a.est-en_atencion{border-left-color:#3d6fb5!important}
.est-completado,.turnos-dia a.est-completado{border-left-color:#9a8f95!important}
.turnos-dia a.est-cancelado_clienta,.turnos-dia a.est-cancelado_negocio,.turnos-dia a.est-expirado,.turnos-dia a.est-ausente{opacity:.6;border-left-color:#c9b9c0!important}
.semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.dia-col{background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:8px;min-height:180px;display:flex;flex-direction:column;gap:6px}
.dia-col.hoy{border-color:var(--nd-plum);box-shadow:0 0 0 1px var(--nd-plum)}
.dia-cab{display:block;text-decoration:none;color:var(--nd-muted);font-size:13px;padding:2px 4px 6px;border-bottom:1px solid var(--nd-line)}
.dia-cab b{color:var(--nd-ink);font:600 18px var(--nd-display)}
.turno-mini{display:block;padding:6px 8px;border-radius:8px;background:#fbf7f8;border-left:3px solid #c9a35a;text-decoration:none;color:var(--nd-ink);font-size:12.5px;line-height:1.3}
.turno-mini span{display:block;color:var(--nd-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.turno-mini:hover{background:var(--nd-rose)}
.libre{color:#b4a9ae;font-size:12px;padding:4px}
.mes-cab,.mes-grilla{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mes-cab span{font-size:12px;font-weight:700;color:var(--nd-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 6px 6px}
.mes-dia{display:flex;flex-direction:column;gap:3px;min-height:104px;padding:7px 8px;background:#fff;border:1px solid var(--nd-line);border-radius:10px;text-decoration:none;color:var(--nd-ink);font-size:12px;overflow:hidden}
.mes-dia b{font:600 15px var(--nd-display)}
.mes-dia span{display:block;padding:2px 6px;border-radius:6px;background:#fbf7f8;border-left:3px solid #c9a35a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mes-dia small{color:var(--nd-muted)}
.mes-dia em.cuantos{display:none}
.mes-dia.fuera{opacity:.45}
.mes-dia.hoy{border-color:var(--nd-plum);box-shadow:0 0 0 1px var(--nd-plum)}
.mes-dia:hover{border-color:#a9778d}
/* Nuevo turno: a la izquierda que y cuando; a la derecha el horario libre y la clienta */
.nuevo-turno-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:28px;align-items:start}
.nuevo-turno-grid h2{margin-top:0;font-size:20px}
.filtros-turno{background:#fff;border:1px solid var(--nd-line);border-radius:16px;padding:20px 22px;position:sticky;top:20px}
.nuevo-turno-grid form.ajax{margin-top:0!important}
.ayuda{margin:6px 0 0;font-size:14px}.ayuda a{display:inline-flex;gap:6px;align-items:center;text-decoration:none;font-weight:600}
.resumen-turno{display:flex;align-items:center;gap:6px;margin:12px 4px;color:var(--nd-muted)}
.resumen-turno b{color:var(--nd-plum);font-size:17px}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:0 0 14px}
label.hora{display:flex!important;flex-direction:column;align-items:center;gap:2px;margin:0!important;padding:10px 6px;border:1px solid var(--nd-line);border-radius:10px;background:#fff;cursor:pointer;text-align:center}
label.hora input{position:absolute;opacity:0;pointer-events:none}
label.hora span{font:600 17px var(--nd-display);color:var(--nd-ink)}
label.hora small{font-size:11px;font-weight:400}
label.hora:has(input:checked){background:var(--nd-plum);border-color:var(--nd-plum)}
label.hora:has(input:checked) span,label.hora:has(input:checked) small{color:#fff}
label.hora:hover{border-color:#a9778d}
@media(max-width:900px){.nuevo-turno-grid{grid-template-columns:1fr}.filtros-turno{position:static}.semana{grid-template-columns:1fr}.dia-col{min-height:0}.mes-dia{min-height:58px}.mes-dia span,.mes-dia small{display:none}.mes-dia em.cuantos{display:inline-block;font-style:normal;background:var(--nd-plum);color:#fff;border-radius:999px;padding:0 7px;font-size:11px;align-self:flex-start}}
@media(max-width:520px){.turnos-dia a{grid-template-columns:52px 1fr}.turnos-dia .estado{grid-column:2;text-align:left}}

/* La agenda del dia se lee de arriba hacia abajo: una sola columna */
.con-tabs:not(.tienda-mayorista) ul.menu.turnos-dia{grid-template-columns:1fr;max-width:900px}
ul.menu a .ico{width:15px;height:15px;color:var(--nd-plum);margin-right:2px}

/* Detalle del turno: ficha y acciones */
.ficha{background:#fff;border:1px solid var(--nd-line);border-left:5px solid #c9a35a;border-radius:14px;padding:18px 20px;margin:0 0 14px}
.ficha.est-confirmado{border-left-color:#2f8a5b}.ficha.est-pendiente_confirmacion,.ficha.est-bloqueado{border-left-color:#d4892b}.ficha.est-en_atencion{border-left-color:#3d6fb5}.ficha.est-completado{border-left-color:#9a8f95}
.ficha p{margin:0 0 6px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ficha .ico{color:var(--nd-plum)}
.chip-estado{display:inline-block!important;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--nd-muted)}
.ficha-titulo{font:600 22px/1.25 var(--nd-display)!important;margin:2px 0 10px!important}
.ficha-precio{font:600 20px var(--nd-display)!important;color:var(--nd-plum);margin:8px 0!important}
.ficha-clienta{padding-top:10px;border-top:1px solid var(--nd-line);margin-top:10px!important}
a.chico-boton{min-height:34px;padding:5px 12px;font-size:13px;margin-left:auto}
.acciones-turno{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 10px}
.acciones-turno form{margin:0}
.sec-accion button{background:#fff;color:var(--nd-plum);border:1px solid var(--nd-line)}
.sec-accion button:hover{background:#fdf9fa}
details.peligro>summary{color:#a31e39}
details.peligro button,details.peligro button.sec{background:#a31e39;color:#fff;border:1px solid #a31e39}
details.peligro button:hover,details.peligro button.sec:hover{background:#861830;border-color:#861830}
ul.historial{padding-left:18px;font-size:13px;color:var(--nd-muted)}
ul.menu.mensajes{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
/* Avisos */
ul.avisos{list-style:none;padding:0;margin:14px 0;display:grid;gap:8px;max-width:900px}
ul.avisos li{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:12px 16px}
ul.avisos li span{flex:1}
ul.avisos li .ico{color:#b4a9ae}
ul.avisos li.nuevo{border-left:4px solid var(--nd-plum)}
ul.avisos li.nuevo .ico{color:var(--nd-plum)}
ul.avisos li a{white-space:nowrap;font-weight:600;text-decoration:none}
.cuenta-lateral form.ajax:not(.enlinea){padding:0;margin:8px 0 14px;box-shadow:none;background:none;max-width:none}
@media(max-width:720px){.tabs a{white-space:nowrap;font-size:10.5px;padding:6px 0;letter-spacing:-.01em}.dia-col .libre{display:inline}.dia-col:has(.libre){flex-direction:row;align-items:center;justify-content:space-between}.dia-col:has(.libre) .dia-cab{border:0;padding:0}}

/* Reserva: aire entre el titulo y los pasos */
.flujo-reserva main>h1{margin-bottom:22px!important}
.flow-steps{margin-bottom:34px}
/* Portada de la afiliada: redes, servicios, donde estamos y reseñas */
.brand-meta{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.brand-meta .ico{width:16px;height:16px}
.redes{display:flex;justify-content:center;gap:10px;margin:0 0 22px}
.redes a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--nd-rose);color:var(--nd-plum)}
.redes a:hover{background:var(--nd-plum);color:#fff}
.redes .ico{width:20px;height:20px}
.brand-servicios,.brand-donde{margin-top:34px}
.brand-servicios h2,.brand-donde h2{font-size:26px}
.servicios-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.servicios-grid a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:#fff;border-radius:13px;text-decoration:none;color:var(--nd-ink);border:1px solid transparent}
.servicios-grid a:hover{border-color:#d9b8c6;box-shadow:0 10px 26px rgba(71,39,55,.08)}
.servicios-grid a span{color:var(--nd-plum);font-size:14px;font-weight:600}
.ver-todo{margin-top:12px;text-align:right}.ver-todo a{font-weight:700;text-decoration:none}
.sede{display:flex;align-items:center;gap:12px;background:#fff;border-radius:13px;padding:14px 16px;margin:0 0 10px}
.sede span{flex:1}.sede .ico{color:var(--nd-plum)}
.domicilio{color:var(--nd-muted)}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.review p{margin:6px 0 10px}
.review .comilla{font:600 44px/0.6 var(--nd-display);color:#d9b8c6;display:block;margin-top:10px}
.verificada{color:#2f8a5b;font-weight:600}
/* Panel: reseñas */
.review-panel{background:#fff;border:1px solid var(--nd-line);border-radius:12px;padding:14px 16px;margin:0 0 10px}
.review-panel.oculta{opacity:.55}
.review-panel .stars{color:var(--nd-plum)}
.review-panel form{display:inline-block;margin:0 6px 0 0}

/* Barra de la dueña en su propia pagina */
.barra-duena{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 18px;padding:9px 16px;background:#2a1520;color:#f5e9ee;font-size:13px}
.barra-duena span{display:inline-flex;align-items:center;gap:6px;opacity:.85}
.barra-duena a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:700;text-decoration:none}
.barra-duena a:hover{text-decoration:underline}
.barra-duena a.ocultar{font-weight:400;opacity:.7}
.barra-duena .ico{width:15px;height:15px}
@media(max-width:600px){.barra-duena span{display:none}}

.barra-duena button.ocultar{background:none;border:0;color:#f5e9ee;opacity:.7;font-size:13px;font-weight:400;min-height:0;padding:0!important;cursor:pointer}
.barra-duena[hidden]{display:none}
.burbuja-duena{position:fixed;left:16px;bottom:16px;z-index:50;width:52px;height:52px;min-height:0;padding:0!important;border-radius:50%;background:#2a1520;box-shadow:0 8px 24px rgba(42,21,32,.3);display:grid;place-items:center}
.burbuja-duena img{width:30px;height:auto}
.burbuja-duena[hidden]{display:none}
/* Clase: lo que se usa en el paso (guia mayorista) */
.clase-productos{max-width:960px;background:#fff;border:1px solid var(--nd-line);border-radius:16px;padding:18px 20px;margin:26px 0}
.cp-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.cp-cab h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:21px}
.cp-cab a{font-weight:700;text-decoration:none;font-size:14px}
.cp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.cp-item{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--nd-line);border-radius:12px}
.cp-item img,.cp-sinfoto{width:68px;height:68px;object-fit:cover;border-radius:10px;flex:none;background:var(--nd-rose)}
.cp-item small{display:block;color:var(--nd-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.cp-item b{display:block;font-size:14px;line-height:1.3}
.cp-precio{display:block;color:var(--nd-plum);font-weight:700;margin:3px 0 4px}
.cp-item form{margin:0}
.cp-todo{display:block;margin-top:14px}

/* Marca de agua personal en el reproductor de la tienda mayorista (Plyr) */
.plyr .mm-marca{position:absolute;top:12%;left:8%;z-index:4;pointer-events:none;color:rgba(255,255,255,.5);text-shadow:0 0 2px rgba(0,0,0,.25);letter-spacing:.02em;font:600 clamp(11px,2.2vw,18px)/1.2 system-ui,sans-serif;white-space:nowrap;transition:top 1.5s,left 1.5s}
.plyr:fullscreen .mm-marca{font-size:clamp(16px,1.8vw,30px)}
/* Alta en pasos, contraseñas con ojito, ubicación con Google y planes del nombre propio */
.paso{margin:0 0 6px!important;color:var(--nd-plum);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.clave{position:relative;display:block}
.clave input{padding-right:48px!important}
button.ver-clave{position:absolute;top:6px;right:2px;height:44px;min-height:0;padding:0 11px!important;background:none!important;color:var(--nd-muted)}
button.ver-clave:hover{color:var(--nd-plum)}
button.ver-clave .ico{width:20px;height:20px;vertical-align:middle}
ul.lugares{list-style:none;margin:4px 0 0!important;padding:4px!important;border:1px solid var(--nd-line);border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(60,35,48,.12);font-weight:400}
ul.lugares li{margin:0!important;padding:10px 12px;border-radius:8px;cursor:pointer;line-height:1.35}
ul.lugares li:hover{background:var(--nd-rose)}
ul.lugares small{color:var(--nd-muted)}
.planes-nombre{display:grid;gap:12px;margin:16px 0}
label.plan-nombre{padding:18px!important}
.plan-cuerpo{display:flex;flex:1;flex-direction:column;gap:7px;min-width:0}
.plan-host{color:var(--nd-ink);font-size:19px;overflow-wrap:anywhere}
.plan-precio{font-weight:400;color:var(--nd-ink)}
.plan-precio s{color:var(--nd-muted)}
.plan-precio b{color:var(--nd-plum);font-size:19px}
.plan-promo{display:inline-block;margin-left:4px;padding:2px 9px;border-radius:99px;background:var(--nd-plum);color:#fff;font-size:12px;font-style:normal;font-weight:700;white-space:nowrap}
.plan-etiqueta{align-self:flex-start;padding:2px 9px;border:1px solid var(--nd-plum);border-radius:99px;color:var(--nd-plum);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.plan-tildes{display:grid;gap:5px;margin:2px 0 0!important;padding:0!important;list-style:none;font-weight:400}
.plan-tildes li{display:flex;align-items:flex-start;gap:8px;margin:0!important}
.plan-tildes .ico{margin-top:2px;color:#16603e}
/* Premium: tildes llenos (el .icom.ar los lleva solo con borde) */
.plan-premium .plan-tildes .ico circle{fill:#16603e}
.plan-premium .plan-tildes .ico path{stroke:#fff}
.plan-cuerpo small{color:var(--nd-muted);font-weight:400}
/* Continuar con Google (colores de la marca de Google) */
a.boton.google{gap:10px;width:100%;background:#fff;color:#1f1f1f;border-color:#747775;font-weight:600}
a.boton.google:hover{background:#f6f8fc;color:#1f1f1f}
.separador{display:flex;align-items:center;gap:12px;margin:14px 0!important;color:var(--nd-muted);font-size:13px}
.separador::before,.separador::after{content:"";flex:1;border-top:1px solid var(--nd-line)}
/* Modal de términos y privacidad */
dialog.modal-texto{width:min(720px,calc(100vw - 32px));max-height:min(85vh,900px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 70px rgba(36,28,34,.3)}
dialog.modal-texto::backdrop{background:rgba(36,28,34,.45)}
dialog.modal-texto .cuerpo{max-height:min(85vh,900px);overflow:auto;padding:28px 26px 22px}
dialog.modal-texto .cuerpo h1{font-family:var(--nd-display);font-size:30px;margin:0 36px 14px 0}
dialog.modal-texto .cerrar{position:absolute;z-index:3;top:12px;right:12px;width:40px;min-height:40px;padding:0!important;border-radius:99px;background:var(--nd-rose)!important;color:var(--nd-ink);font-size:24px;line-height:1}
a.ast{margin-left:1px;font-weight:700;text-decoration:none;color:var(--nd-plum)}
dialog.modal-texto .cuerpo{position:relative}
/* Datos de la dirección: aparecen completos al elegir del buscador de Google */
.campos-dir{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;margin:4px 0 0;padding:4px 16px 8px;border:1px solid var(--nd-line);border-radius:12px;background:#fdfafb}
.campos-dir[hidden]{display:none}
.campos-dir label{margin:10px 0!important}
.campos-dir label.ancho{grid-column:1/-1}
.campos-dir label small{font-weight:400;color:var(--nd-muted)}
.campos-dir.aparece{animation:aparece .25s ease-out}
@keyframes aparece{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:520px){.campos-dir{grid-template-columns:1fr}}
p.a-mano{margin:-4px 0 6px!important}
ul.zonas-extra{list-style:none;margin:10px 0!important;padding:0!important;display:grid;gap:8px}
ul.zonas-extra li{display:flex;align-items:center;gap:8px;margin:0!important;padding:8px 12px;border:1px solid var(--nd-line);border-radius:10px;background:#fff}
ul.zonas-extra li span{flex:1}
ul.zonas-extra form.enlinea button{min-height:34px;padding:4px 12px!important;background:#fff;color:var(--nd-plum);border:1px solid var(--nd-line)}
/* Portadas, tarjetas con foto e íconos de beneficios (páginas públicas) */
img.portada{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:4px 0 22px;border-radius:18px;box-shadow:0 14px 40px rgba(60,35,48,.12)}
img.portada.cuadrada{aspect-ratio:16/9}
ul.tarjetas a{display:flex!important;align-items:center;gap:14px;padding:10px 14px 10px 10px!important}
ul.tarjetas img{flex:none;width:72px;height:72px;border-radius:10px;object-fit:cover}
.tarjeta-ico{flex:none;display:grid;place-items:center;width:52px;height:52px;margin:0 10px 0 4px;border-radius:12px;background:var(--nd-rose);color:var(--nd-plum)}
.tarjeta-ico .ico{width:24px;height:24px}
.tarjeta-txt{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.tarjeta-txt b{font-weight:700}
.tarjeta-txt small{color:var(--nd-muted);font-size:13px;line-height:1.35}
ul.tarjetas a>.ico:last-child{color:#b49aa6}
ul.beneficios{display:grid;gap:12px;margin:14px 0 22px!important;padding:0!important;list-style:none}
ul.beneficios li{display:flex;align-items:flex-start;gap:12px;margin:0!important;line-height:1.5}
.b-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--nd-rose);color:var(--nd-plum)}
.b-ico .ico{width:18px;height:18px}
ul.beneficios.compacto{gap:8px;margin:10px 0 18px!important}
ul.beneficios.compacto .b-ico{width:28px;height:28px;border-radius:8px}
ul.beneficios.reglas li{font-size:14px}
.precio-caja{margin:0 0 26px;padding:22px 22px 20px;border:1px solid var(--nd-line);border-radius:16px;background:#fff;box-shadow:0 14px 42px rgba(60,35,48,.07)}
.precio-caja .precio{margin:0!important;font-size:16px;color:var(--nd-muted)}
.precio-caja .precio b{font-family:var(--nd-display);font-size:40px;color:var(--nd-ink);margin-right:4px}
a.boton.grande{width:100%;min-height:52px;font-size:16px}
p.cta{margin:26px 0 10px!important}
section.perfil{margin:30px 0}
/* Puerta de entrada: elegir el país */
ul.paises{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:14px 0 30px!important;padding:0!important;list-style:none}
ul.paises li{margin:0!important}
ul.paises a,p.pais-aca a{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--nd-line);border-radius:12px;background:#fff;color:var(--nd-ink);text-decoration:none!important}
ul.paises a:hover,p.pais-aca a:hover{border-color:#a9778d;background:#fdf9fa}
ul.paises img,p.pais-aca img{flex:none;border-radius:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08);object-fit:cover}
ul.paises span{flex:1;font-weight:600;font-size:14px}
ul.paises small,p.pais-aca>a>small{color:var(--nd-muted);font-size:11px}
p.pais-aca a{gap:14px;padding:16px 16px;border-color:#a46a83;background:var(--nd-rose)}
p.pais-aca span{flex:1;display:flex;flex-direction:column}
p.pais-aca span small{color:var(--nd-muted);font-size:12px}
p.pais-aca span b{font-size:18px}
p.pais-bandera img{border-radius:8px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
p.otro-pais{margin:0 0 4px!important;font-size:13px}
p.otro-pais a{display:inline-flex;align-items:center;gap:6px;color:var(--nd-muted)}
p.otro-pais img{border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
/* Buscador por cercanía */
.buscador-fila{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.buscador-fila{grid-template-columns:1fr}}
ul.resultados .ico{width:15px;height:15px;color:var(--nd-muted)}
p.a-mano a .ico{width:14px;height:14px}
form.buscar-negocios{margin:22px 0;padding:22px 22px 8px;background:#fff;border-radius:16px;box-shadow:0 14px 42px rgba(60,35,48,.07)}
img.portada.cuadrada.chica{width:220px;aspect-ratio:1;margin:4px 0 16px;border-radius:14px}
/* Tienda de la afiliada: vidriera en grilla, ficha del producto y carrito */
.tienda-negocio main{width:min(calc(100% - 48px),1080px)}
.tienda-bajada{color:var(--nd-muted);font-size:16px;max-width:620px}
.tienda-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 20px}
.buscar-producto{display:flex;align-items:center;gap:8px;flex:1 1 260px;max-width:380px;padding:0 14px;background:#fff;border:1px solid var(--nd-line);border-radius:999px}
.buscar-producto .ico{color:var(--nd-muted)}
.buscar-producto input{flex:1;border:0!important;background:none!important;min-height:44px;padding:0!important;font:inherit;outline:none;box-shadow:none!important}
.buscar-producto:focus-within{border-color:#a9778d;box-shadow:0 0 0 3px rgba(168,80,117,.15)}
.chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.chips::-webkit-scrollbar{display:none}
button.chip{min-height:36px;padding:6px 15px!important;border-radius:999px;background:#fff;color:var(--nd-ink);border:1px solid var(--nd-line);font-weight:600;font-size:13px;white-space:nowrap}
button.chip:hover{background:#fdf9fa;border-color:#a9778d}
button.chip.activo{background:var(--nd-ink);border-color:var(--nd-ink);color:#fff}
.tienda-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin:0 0 30px}
.producto{display:flex;flex-direction:column;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(60,35,48,.06),0 10px 30px rgba(60,35,48,.06);transition:transform .2s ease,box-shadow .2s ease}
.producto:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(60,35,48,.06),0 18px 40px rgba(60,35,48,.12)}
.producto[hidden]{display:none}
.producto-foto{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:var(--nd-rose);overflow:hidden}
.producto-foto img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.producto:hover .producto-foto img{transform:scale(1.04)}
.producto-foto .ico,.ficha-foto>.ico,.ci-foto .ico{width:40px;height:40px;color:#c9aebb}
.producto-info{display:flex;flex-direction:column;gap:4px;flex:1;padding:14px 16px 16px}
.producto-info small,.ficha-info>small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.producto-nombre{color:var(--nd-ink);text-decoration:none;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.producto-nombre:hover{color:var(--nd-plum)}
.producto-precio{margin:2px 0 12px!important;font-size:18px;font-weight:700}
.producto form.al-carrito{display:block;margin-top:auto}
.producto form.al-carrito button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#fff;color:var(--nd-plum);border:1px solid var(--nd-plum)}
.producto form.al-carrito button:hover{background:var(--nd-plum);color:#fff}
.producto form.al-carrito button.listo{background:#2f7a57;border-color:#2f7a57;color:#fff}
.al-carrito .msg:not(.mal){display:none}
.al-carrito .msg.mal{display:block;margin-top:6px;font-size:12px}
.tienda-vacia{color:var(--nd-muted);text-align:center;padding:30px 0}
.carrito-flotante{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:30;display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--nd-ink);color:#fff!important;text-decoration:none;font-weight:700;box-shadow:0 14px 34px rgba(36,28,34,.3)}
.carrito-flotante[hidden]{display:none}
.carrito-flotante b{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#fff;color:var(--nd-ink);font-size:13px}
.carrito-flotante:hover{background:var(--nd-plum)}
.tienda-negocio .site-footer{padding-bottom:90px}
/* Ficha */
.producto-ficha{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start;margin-bottom:40px}
.ficha-foto{display:flex;align-items:center;justify-content:center;aspect-ratio:1;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px rgba(60,35,48,.07)}
.ficha-foto img{width:100%;height:100%;object-fit:cover}
.ficha-miniaturas{display:flex;gap:10px;margin-top:12px;overflow-x:auto}
.ficha-miniaturas button{flex:none;width:72px;height:72px;min-height:0;padding:0!important;border-radius:12px;overflow:hidden;background:#fff;border:2px solid transparent}
.ficha-miniaturas button.activo{border-color:var(--nd-plum)}
.ficha-miniaturas img{width:100%;height:100%;object-fit:cover}
.ficha-info{position:sticky;top:20px}
.ficha-precio{font-size:30px;font-weight:700;margin:6px 0 4px!important;letter-spacing:-.01em}
.ficha-stock{display:flex;align-items:center;gap:6px;color:#2f7a57;font-weight:600;font-size:14px}
form.ficha-comprar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:22px 0 10px}
form.ficha-comprar .boton{flex:1 1 200px;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;font-size:16px}
form.ficha-comprar .msg{flex-basis:100%}
.cantidad{display:inline-flex;align-items:center;background:#fff;border:1px solid var(--nd-line);border-radius:12px;overflow:hidden}
.cantidad button{min-height:44px;width:42px;padding:0!important;background:none;color:var(--nd-ink);border-radius:0}
.cantidad button:hover{background:var(--nd-rose)}
.cantidad button .ico{margin:0}
.cantidad input{width:46px;min-height:44px;border:0!important;text-align:center;font:inherit;font-weight:700;padding:0!important;background:none;-moz-appearance:textfield;appearance:textfield}
.cantidad input::-webkit-outer-spin-button,.cantidad input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ficha-descripcion{margin-top:26px;padding-top:20px;border-top:1px solid var(--nd-line)}
.ficha-descripcion h2{font-size:20px;margin:0 0 10px}
/* Carrito */
.carrito-lista{display:grid;gap:12px;margin:10px 0 18px}
.carrito-item{display:grid;grid-template-columns:76px 1fr auto auto auto;gap:14px;align-items:center;padding:12px;background:#fff;border-radius:16px;box-shadow:0 8px 24px rgba(60,35,48,.05)}
.ci-foto{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:12px;overflow:hidden;background:var(--nd-rose)}
.ci-foto img{width:100%;height:100%;object-fit:cover}
.ci-datos{display:flex;flex-direction:column;min-width:0}
.ci-datos b{line-height:1.35}
.ci-cantidad .msg{display:none}
.ci-quitar button{min-height:40px;width:40px;padding:0!important;background:none;color:var(--nd-muted)}
.ci-quitar button:hover{background:var(--nd-rose);color:var(--nd-plum)}
.ci-quitar button .ico{margin:0}
.ci-total{min-width:90px;text-align:right}
.carrito-subtotal{display:flex;justify-content:space-between;align-items:baseline;padding:16px 4px;border-top:1px solid var(--nd-line);font-size:18px}
.carrito-subtotal b{font-size:24px}
.carrito-vacio{text-align:center;padding:50px 20px;background:#fff;border-radius:20px}
.carrito-vacio>.ico{width:44px;height:44px;color:#c9aebb;margin-bottom:10px}
@media(max-width:760px){
  .producto-ficha{grid-template-columns:1fr;gap:22px}
  .ficha-info{position:static}
}
@media(max-width:600px){
  .tienda-negocio main{width:min(calc(100% - 32px),1080px)}
  .tienda-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .producto-info{padding:10px 12px 12px}
  .producto-precio{font-size:16px;margin-bottom:10px!important}
  .producto form.al-carrito button{font-size:13px;padding:8px!important}
  .buscar-producto{max-width:none}
  .carrito-item{grid-template-columns:64px 1fr auto;grid-template-areas:"foto datos quitar" "foto cant total";gap:8px 12px}
  .ci-foto{grid-area:foto;width:64px;height:64px}
  .ci-datos{grid-area:datos}.ci-cantidad{grid-area:cant}.ci-quitar{grid-area:quitar}.ci-total{grid-area:total;min-width:0}
}
.tienda-filtros label.buscar-producto{display:flex;margin:0}
.tienda-filtros .buscar-producto input{margin:0!important;width:auto;min-width:0;border-radius:0}
.tienda-filtros .buscar-producto input:focus{box-shadow:none}
.cantidad input:not([type=checkbox]){width:46px;margin:0!important;border-radius:0}
.tienda-negocio .site-header,.tienda-negocio .site-footer{width:min(calc(100% - 48px),1080px)}
@media(max-width:600px){.tienda-negocio .site-header,.tienda-negocio .site-footer{width:min(calc(100% - 32px),1080px)}}
/* /ar/cursos: dos vistas (por categoría y como tienda mayorista) y la vidriera de insumos de cada curso */
.vistas{display:inline-flex;gap:4px;padding:4px;margin:6px 0 18px;background:#fff;border:1px solid var(--nd-line);border-radius:14px}
.vistas a{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px;color:var(--nd-ink);text-decoration:none;font-weight:600;font-size:14px}
.vistas a:hover{background:var(--nd-rose)}
.vistas a.activo{background:var(--nd-plum);color:#fff}
.cat-saltos{flex-wrap:wrap;margin:4px 0 26px}
a.chip{display:inline-flex;align-items:center;min-height:34px;padding:5px 14px;border-radius:999px;background:#fff;border:1px solid var(--nd-line);color:var(--nd-ink);font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap}
a.chip:hover{border-color:#a9778d;background:#fdf9fa;color:var(--nd-plum)}
.cat-bloque{margin:0 0 34px;scroll-margin-top:20px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 12px 34px rgba(60,35,48,.07)}
.cat-cab{position:relative;min-height:96px;background:var(--nd-rose)}
.cat-cab img{display:block;width:100%;aspect-ratio:3/1;object-fit:cover}
.cat-cab img+.cat-titulo{position:absolute;inset:auto 0 0 0;padding:44px 22px 16px;background:linear-gradient(to top,rgba(30,16,24,.78),rgba(30,16,24,0));color:#fff}
.cat-cab img+.cat-titulo small{color:rgba(255,255,255,.85)}
.cat-titulo{padding:22px 22px 14px}
.cat-titulo h2{margin:0;font-size:26px}
.cat-cursos{list-style:none;margin:0;padding:6px 10px 10px}
.cat-cursos li{margin:0}
.cat-cursos a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 12px;border-radius:12px;color:var(--nd-ink);text-decoration:none}
.cat-cursos li+li a{border-top:1px solid var(--nd-line)}
.cat-cursos li:hover+li a{border-top-color:transparent}
.cat-cursos a:hover{background:var(--nd-rose);border-top-color:transparent}
.cat-cursos a>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cat-cursos small{display:flex;align-items:center;gap:5px}
.cat-cursos small .ico{width:14px;height:14px}
.cat-cursos a>.ico{color:#b49aa6}
/* Vidriera (tienda mayorista vista de afuera) */
.vid-intro{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;background:#fff;border:1px solid var(--nd-line);border-radius:14px}
.vid-intro>.ico{color:var(--nd-plum);margin-top:2px}
.rubro{scroll-margin-top:20px}
.vid-servicios{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:30px}
.vid-servicio{display:flex;flex-direction:column;gap:12px;padding:18px;background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(60,35,48,.07)}
.vid-servicio header h3{margin:0;font-family:var(--nd-display);font-size:20px;font-weight:600}
.vid-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;counter-reset:paso}
.vid-chips li{counter-increment:paso;display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 4px;margin:0;border-radius:999px;background:var(--nd-rose);font-size:12px;font-weight:600}
.vid-chips li::before{content:counter(paso);display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#fff;color:var(--nd-plum);font-size:11px}
.vid-chips b{color:var(--nd-muted);font-weight:600}
.vid-curso{display:inline-flex;align-items:center;gap:2px;margin-top:auto;font-weight:700;font-size:14px;text-decoration:none}
.vid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.vid-servicio .vid-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.vid-prod{margin:0;display:flex;flex-direction:column;gap:6px}
.vid-prod img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;background:var(--nd-rose)}
.vid-prod figcaption{font-size:12px;line-height:1.3;color:var(--nd-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vid-servicio .vid-prod figcaption{display:none}
.vid-mas{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--nd-rose);color:var(--nd-plum);text-align:center}
.vid-borroso{position:absolute;inset:-20%;background:radial-gradient(circle at 30% 30%,#e7c4d3 0 18%,transparent 19%),radial-gradient(circle at 72% 40%,#d9b3a4 0 16%,transparent 17%),radial-gradient(circle at 45% 75%,#ead7c8 0 20%,transparent 21%),#f4e9ee;filter:blur(10px);opacity:.9}
.vid-mas b,.vid-mas small{position:relative}
.vid-mas b{font-size:22px;line-height:1}
.vid-mas small{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;color:var(--nd-plum)}
.vid-mas small .ico{width:12px;height:12px}
.vidriera{margin:34px 0;padding:22px;background:#fff;border-radius:20px;box-shadow:0 12px 34px rgba(60,35,48,.07)}
.vidriera>h2{margin-top:0}
.vid-paso{padding:16px 0;border-top:1px solid var(--nd-line)}
.vid-paso h3{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:16px}
.vid-paso h3 small{font-weight:500}
.vid-n{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:50%;background:var(--nd-plum);color:#fff;font-size:13px}
.vid-paso .vid-grid{grid-template-columns:repeat(3,minmax(0,140px))}
.vid-pie{display:flex;align-items:center;gap:8px;margin:12px 0 0!important;padding-top:14px;border-top:1px solid var(--nd-line);color:var(--nd-muted);font-size:14px}
@media(max-width:600px){
  .vistas{display:flex}
  .vistas a{flex:1;justify-content:center;padding:9px 8px;font-size:13px}
  .cat-cab img{aspect-ratio:2/1}
  .cat-titulo h2{font-size:22px}
  .vid-servicios{grid-template-columns:1fr}
  .vidriera{padding:18px 14px}
  .vid-paso .vid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Temario de un curso */
ul.temario{list-style:none;margin:0 0 18px;padding:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(60,35,48,.05)}
ul.temario li{display:flex;align-items:center;gap:12px;margin:0;padding:12px 16px}
ul.temario li+li{border-top:1px solid var(--nd-line)}
.tm-ico{display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--nd-rose);color:var(--nd-muted)}
.tm-ico .ico{width:15px;height:15px;margin:0}
ul.temario li.abierta .tm-ico{background:var(--nd-plum);color:#fff}
.tm-nombre{flex:1;min-width:0}
ul.temario small{flex:none;font-variant-numeric:tabular-nums}
.tm-gratis{flex:none;padding:2px 9px;border-radius:999px;background:#e3f1ea;color:#2f7a57;font-size:12px}
/* Spinner: botones mientras se envía y buscador de direcciones */
@keyframes nd-girar{to{transform:rotate(360deg)}}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:nd-girar .7s linear infinite;vertical-align:-3px}
button.cargando,.boton.cargando{position:relative;color:transparent!important;pointer-events:none}
button.cargando .ico,.boton.cargando .ico{opacity:0}
button.cargando::after,.boton.cargando::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid #fff;border-right-color:transparent;border-radius:50%;animation:nd-girar .7s linear infinite}
.producto form.al-carrito button.cargando::after,.cantidad button.cargando::after,.ci-quitar button.cargando::after{border-color:var(--nd-plum);border-right-color:transparent}
@media(prefers-reduced-motion:reduce){.spinner,button.cargando::after,.boton.cargando::after{animation-duration:2s}}
.lugares-estado{display:flex;align-items:center;gap:10px;padding:12px 14px!important;color:var(--nd-muted);cursor:default!important;background:none!important}
.lugares-estado.vacio{color:#8a3a2c;line-height:1.4}
/* WhatsApp con bandera (intl-tel-input) */
.iti{display:block;width:100%;margin-top:6px}
.iti input[type=tel]{margin-top:0!important}
.iti__selected-country{border-radius:9px 0 0 9px}
.iti__selected-dial-code{font-weight:600;color:var(--nd-ink)}
.tel-aviso{display:block;min-height:18px;margin-top:5px;font-size:12px;font-weight:600}
.tel-aviso.ok{color:#2f7a57}
.tel-aviso.mal{color:#8a3a2c}
/* Errores del formulario: el campo con borde rojo hasta que lo corrige */
input.con-error,select.con-error,textarea.con-error{border-color:#b4472f!important;box-shadow:0 0 0 3px rgba(180,71,47,.12)!important}
/* Nombre propio: la tarjeta Premium */
label.plan-premium{position:relative;background:linear-gradient(160deg,#fff 0%,#fbf4f7 100%)!important;border:1px solid #c99bb0!important;box-shadow:0 14px 36px rgba(104,40,67,.12)}
label.plan-premium:has(input:checked){border-color:var(--nd-plum)!important;box-shadow:0 0 0 2px var(--nd-plum),0 16px 40px rgba(104,40,67,.18)}
.premium-cab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.plan-premium .plan-etiqueta{display:inline-flex;align-items:center;gap:5px;background:var(--nd-plum);color:#fff;border-color:var(--nd-plum)}
.plan-premium .plan-etiqueta .ico{width:13px;height:13px;margin:0}
.premium-recomendado{font-size:12px;font-weight:700;color:var(--nd-plum)}
.premium-barra{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid var(--nd-line);box-shadow:inset 0 1px 0 rgba(0,0,0,.02)}
.premium-url{display:flex;align-items:center;gap:6px;min-width:0;font-size:17px;color:var(--nd-ink);overflow-wrap:anywhere}
.premium-url .ico{width:14px;height:14px;color:#2f7a57;margin:0}
.premium-cajas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0}
.premium-caja{display:flex;align-items:flex-start;gap:9px;padding:11px;border-radius:12px;background:#fff;border:1px solid var(--nd-line)}
.premium-caja>.ico{flex:none;width:30px;height:30px;padding:7px;border-radius:9px;background:var(--nd-rose);color:var(--nd-plum);margin:0}
.premium-caja>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.premium-caja b{font-size:14px;color:var(--nd-ink)}
.premium-caja small{font-size:12px;line-height:1.35}
.premium-propio{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:12px;background:var(--nd-rose);font-size:13px;font-weight:500;color:var(--nd-ink)}
.premium-propio .ico{flex:none;color:var(--nd-plum);margin:0}
@media(max-width:520px){.premium-cajas{grid-template-columns:1fr}}
/* Pago de la membresía */
.pago-caja{margin:22px 0 14px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 18px 46px rgba(60,35,48,.1)}
.pago-cab{padding:22px 24px 18px;background:linear-gradient(150deg,#682843 0%,#8c3a5c 100%);color:#fff}
.pago-plan{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
.pago-plan .ico{width:14px;height:14px;margin:0}
.pago-precio{margin:8px 0 4px!important;font-size:16px}
.pago-precio b{font-size:38px;letter-spacing:-.02em;margin-right:4px}
.pago-congelado{display:flex;align-items:center;gap:6px;margin:0!important;font-size:14px;opacity:.95}
.pago-congelado .ico{width:15px;height:15px;margin:0}
.pago-congelado .ast{color:#fff}
.pago-resumen{display:grid;margin:0;padding:8px 24px}
.pago-resumen>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--nd-line)}
.pago-resumen>div:last-child{border-bottom:0}
.pago-resumen dt{color:var(--nd-muted);font-size:14px}
.pago-resumen dd{margin:0;text-align:right;font-weight:600;font-size:14px}
.pago-resumen dd small{display:block;font-weight:400}
form.pago-form{display:block;padding:6px 24px 0}
.pago-boton{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;font-size:17px!important}
form.pago-form .msg{display:block;margin-top:8px}
.pago-seguro{display:flex;align-items:flex-start;gap:8px;margin:12px 24px 0!important;padding-bottom:22px;color:var(--nd-muted);font-size:13px;line-height:1.45}
.pago-seguro .ico{flex:none;width:16px;height:16px;color:#2f7a57;margin:1px 0 0}
.pago-prueba{display:flex;align-items:center;gap:10px;margin:16px 0 0!important;padding:14px 24px;background:#eef6f1;color:#1f5a3f;font-size:15px}
.pago-prueba .ico{flex:none;color:#2f7a57;margin:0}
.pago-legal{margin-top:6px}
@media(max-width:600px){.pago-cab,.pago-resumen{padding-left:18px;padding-right:18px}form.pago-form{padding:6px 18px 0}.pago-seguro{margin:12px 18px 0!important;padding-bottom:18px}.pago-prueba{padding:14px 18px}.pago-precio b{font-size:32px}}
.iti input.iti__tel-input:not([type=checkbox]):not([type=radio]):not([type=hidden]){padding-left:var(--nd-tel-izq,90px)!important;margin-top:0!important}
/* Pasos del alta */
.alta-pasos{display:flex;align-items:center;gap:0;list-style:none;margin:0 0 22px!important;padding:0!important;counter-reset:none}
.alta-pasos li{display:flex;align-items:center;flex:1;margin:0!important;min-width:0}
.alta-pasos li:not(:last-child)::after{content:"";flex:1;height:2px;margin:0 10px;border-radius:2px;background:var(--nd-line)}
.alta-pasos li.hecho:not(:last-child)::after{background:var(--nd-plum)}
.alta-pasos li>a,.alta-pasos li>span{display:inline-flex;align-items:center;gap:8px;flex:none;color:var(--nd-muted);text-decoration:none;font-size:13px;font-weight:600}
.alta-pasos li>a:hover .ap-txt{color:var(--nd-plum);text-decoration:underline}
.ap-n{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--nd-line);background:#fff;color:var(--nd-muted);font-size:13px;font-weight:700}
.ap-n .ico{width:16px;height:16px;margin:0}
.alta-pasos li.actual .ap-n{border-color:var(--nd-plum);background:var(--nd-plum);color:#fff}
.alta-pasos li.actual .ap-txt{color:var(--nd-ink)}
.alta-pasos li.hecho .ap-n{border-color:var(--nd-plum);color:var(--nd-plum)}
.alta-pasos li.hecho .ap-txt{color:var(--nd-plum)}
@media(max-width:520px){.alta-pasos li:not(.actual) .ap-txt{display:none}.alta-pasos li:not(:last-child)::after{margin:0 6px}}
/* Cabecera: Instagram y WhatsApp al lado del menú */
.cab-derecha{display:flex;align-items:center;gap:12px}
.con-tabs .cab-derecha{margin-left:auto}
.cab-redes{display:flex;gap:2px}
.cab-redes a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--nd-ink)}
.cab-redes a:hover{background:var(--nd-rose);color:var(--nd-plum)}
.cab-redes .ico{width:18px;height:18px;margin:0}
/* Datos fiscales */
.fiscal{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin:20px 0;padding:24px;background:#fff;border-radius:20px;box-shadow:0 12px 34px rgba(60,35,48,.07)}
.fiscal-datos{display:grid;margin:0}
.fiscal-datos>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--nd-line)}
.fiscal-datos>div:last-child{border-bottom:0}
.fiscal-datos dt{color:var(--nd-muted);font-size:14px}
.fiscal-datos dd{margin:0;font-weight:600;text-align:right}
.fiscal-qr{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border:1px solid var(--nd-line);border-radius:16px;color:var(--nd-ink);text-decoration:none;text-align:center;max-width:210px}
.fiscal-qr:hover{border-color:#a9778d}
.fiscal-qr [data-qr] svg,.fiscal-qr img{display:block;width:170px;height:170px}
.fiscal-qr small{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.3}
.fiscal-qr small .ico{flex:none;width:14px;height:14px;color:#2f7a57;margin:0}
@media(max-width:600px){.fiscal{grid-template-columns:1fr;justify-items:center}.fiscal-datos{width:100%}.cab-redes a{width:32px;height:32px}}
.iti button.iti__selected-country{min-height:0;padding:0 8px 0 12px!important;background:transparent!important;color:var(--nd-ink)!important;border-radius:9px 0 0 9px;font-weight:600}
.iti button.iti__selected-country:hover,.iti button.iti__selected-country:focus-visible,.iti button.iti__selected-country[aria-expanded=true]{background:var(--nd-rose)!important}
.iti__dropdown-content{border-radius:12px;border:1px solid var(--nd-line);box-shadow:0 14px 34px rgba(60,35,48,.14)}
.iti__country.iti__highlight{background:var(--nd-rose)}
/* Botones y links de menú con flechita al final: aspecto de app */
a.boton:not(.sin-flecha)::after{content:"";flex:none;width:16px;height:16px;margin-left:8px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m9 18 6-6-6-6%27/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.4%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m9 18 6-6-6-6%27/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .18s ease}
a.boton:not(.sin-flecha):hover::after{transform:translateX(3px)}
ul.menu:not(.tarjetas) a{position:relative;padding-right:44px!important}
ul.menu:not(.tarjetas) a::after{content:"";position:absolute;right:16px;top:50%;width:16px;height:16px;margin-top:-8px;background:#b49aa6;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m9 18 6-6-6-6%27/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272.2%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m9 18 6-6-6-6%27/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .18s ease}
ul.menu:not(.tarjetas) a:hover::after{transform:translateX(3px);background:var(--nd-plum)}
.redes-oficiales{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;list-style:none;margin:0 0 20px;padding:0}
.redes-oficiales li{margin:0}
.redes-oficiales a{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid var(--nd-line);border-radius:14px;color:var(--nd-ink);text-decoration:none}
.redes-oficiales a:hover{border-color:#a9778d}
.redes-oficiales .ico{width:26px;height:26px;color:var(--nd-plum);margin:0}
.redes-oficiales span{display:flex;flex-direction:column}
/* Vista tienda de cursos: tapa del video, cuántos videos y el modal «solo para afiliadas» */
button.vid-tapa{position:relative;display:block;width:calc(100% + 36px);margin:-18px -18px 0;padding:0!important;min-height:0;aspect-ratio:16/9;border-radius:18px 18px 0 0;overflow:hidden;background:linear-gradient(140deg,#efe2e8,#f8f0f3)!important;color:#fff;cursor:pointer}
button.vid-tapa img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
button.vid-tapa:hover img{transform:scale(1.04)}
.vid-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:50%;background:rgba(36,28,34,.55);backdrop-filter:blur(4px);color:#fff}
.vid-play .ico{width:30px;height:30px;margin:0}
button.vid-tapa:hover .vid-play{background:var(--nd-plum)}
.vid-cuantos{position:absolute;right:10px;bottom:10px;padding:3px 10px;border-radius:999px;background:rgba(36,28,34,.65);color:#fff;font-size:12px;font-weight:700}
.vid-videos{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0!important;font-size:14px}
.vid-videos .ico{width:16px;height:16px;color:var(--nd-plum);margin:0}
/* «+87 con la membresía»: el candado al lado del texto, sin tocar el borde */
.vid-mas small{display:block!important;padding:0 8px;text-align:center;font-size:10.5px!important;line-height:1.3}
.vid-mas small .ico{display:inline-block;width:11px!important;height:11px!important;margin:0 3px 0 0!important;vertical-align:-1px}
/* Temario: las clases se pueden tocar */
ul.temario li:has(>a),ul.temario li:has(>button){padding:0}
ul.temario li>a,ul.temario li>button{display:flex;align-items:center;gap:12px;width:100%;min-height:0;margin:0;padding:12px 16px!important;background:none!important;color:var(--nd-ink);font:inherit;font-weight:400;text-align:left;text-decoration:none;border-radius:0;box-sizing:border-box;cursor:pointer}
ul.temario li>a:hover,ul.temario li>button:hover{background:var(--nd-rose)!important}
/* Modal del video bloqueado */
dialog.modal-video{width:min(760px,calc(100vw - 24px));padding:0;border:0;border-radius:18px;overflow:hidden;background:#1d1519;box-shadow:0 24px 70px rgba(36,28,34,.4)}
dialog.modal-video::backdrop{background:rgba(20,14,18,.6)}
dialog.modal-video .cerrar{position:absolute;z-index:3;top:10px;right:10px;width:38px;min-height:38px;padding:0!important;border-radius:99px;background:rgba(255,255,255,.9)!important;color:var(--nd-ink);font-size:22px;line-height:1}
.mv-pantalla{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.mv-fondo{position:absolute;inset:-20px;background:#3a2530 center/cover;filter:blur(14px) brightness(.55)}
.mv-aviso{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:440px;padding:20px;text-align:center;color:#fff}
.mv-candado{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.15)}
.mv-candado .ico{width:24px;height:24px;margin:0;color:#fff}
.mv-titulo{font-family:var(--nd-display);font-size:24px;font-weight:600}
.mv-texto{margin:0 0 8px!important;font-size:14px;opacity:.9}
.mv-botones{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.mv-botones a.boton{background:#fff;color:var(--nd-plum);border-color:#fff}
.mv-botones a.boton:hover{background:var(--nd-rose);color:var(--nd-plum)}
.mv-botones a.boton.sec{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.mv-botones a.boton.sec:hover{background:rgba(255,255,255,.12);color:#fff}
@media(max-width:600px){.mv-pantalla{aspect-ratio:auto;min-height:340px}.mv-titulo{font-size:20px}}

/* Carteles de confirmación (SweetAlert2) con la estética del sitio */
.nd-swal{border-radius:18px!important;font-family:var(--nd-body)!important;color:var(--nd-ink)!important;padding:26px 22px 22px!important}
.nd-swal .swal2-html-container{font-size:16px!important;line-height:1.5!important;color:var(--nd-ink)!important}
.nd-swal .swal2-actions{gap:10px}
.nd-swal-si,.nd-swal-no{border-radius:10px;padding:11px 20px;font:600 15px var(--nd-body);cursor:pointer}
.nd-swal-si{background:var(--nd-plum);color:#fff;border:1px solid var(--nd-plum)}
.nd-swal-si:hover{background:var(--nd-plum-dark)}
.nd-swal-no{background:#fff;color:var(--nd-plum);border:1px solid var(--nd-line)}
.nd-swal-no:hover{background:var(--nd-rose)}
.nd-swal .swal2-icon.swal2-warning{border-color:#e3b5c4;color:var(--nd-plum)}
.nd-swal .swal2-icon.swal2-question{border-color:var(--nd-line);color:var(--nd-plum)}

/* Inicio con la sesión iniciada: saludo y accesos a su lugar */
.saludo-sesion{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:0 0 20px;padding:16px 18px;border-radius:14px;background:var(--nd-rose);border:1px solid #e3cfd8}
.saludo-sesion p{margin:0!important}
.saludo-sesion b{font-family:var(--nd-display);font-size:22px;font-weight:600;color:var(--nd-plum)}
.saludo-sesion span{display:block;font-size:14px;color:var(--nd-muted)}
.saludo-botones{display:flex;flex-wrap:wrap;gap:8px}
.saludo-botones .boton{gap:6px;min-height:40px;padding:8px 14px}
.saludo-botones .ico{width:16px;height:16px}
@media(max-width:520px){.saludo-botones{width:100%}.saludo-botones .boton{flex:1 1 auto}}

/* Datos que se muestran pero no se editan (email, DNI) */
input.solo-lectura{background:var(--nd-bg)!important;color:var(--nd-muted)!important;cursor:default}
input.solo-lectura:focus{box-shadow:none!important;border-color:var(--nd-line)!important}
/* Aviso del WhatsApp vacío: no deja un hueco debajo del campo. Y aire entre la última casilla y el botón de enviar */
.tel-aviso:empty{min-height:0;margin-top:0}
form .msg + p:has(> button[type=submit]){margin-top:18px!important}
/* Mismo marco en todo el sitio general (inicio, alta, términos, arrepentimiento, admin…) que en el panel:
   encabezado, pie y contenido a 1200 px. Los bloques siguen a 760 px de ancho máximo, alineados a la izquierda como en el panel,
   así no se alarga ninguna línea de texto. Las páginas de cada negocio, la reserva y las tiendas mantienen su propio ancho. */
.sitio-general:not(.con-tabs) .site-header,.sitio-general:not(.con-tabs) .site-footer,.sitio-general:not(.con-tabs):not(.tienda-mayorista) main{width:min(calc(100% - 48px),1200px)}
.sitio-general:not(.con-tabs):not(.tienda-mayorista) main>*{max-width:760px}
@media(max-width:600px){.sitio-general:not(.con-tabs) .site-header,.sitio-general:not(.con-tabs) .site-footer,.sitio-general:not(.con-tabs):not(.tienda-mayorista) main{width:min(calc(100% - 32px),1200px)}}
.sitio-general.contenido-centrado:not(.tienda-negocio) main,.sitio-general.contenido-centrado:not(.tienda-negocio) .site-header,.sitio-general.contenido-centrado:not(.tienda-negocio) .site-footer{width:min(calc(100% - 48px),760px)!important}
@media(max-width:600px){.sitio-general.contenido-centrado:not(.tienda-negocio) main,.sitio-general.contenido-centrado:not(.tienda-negocio) .site-header,.sitio-general.contenido-centrado:not(.tienda-negocio) .site-footer{width:min(calc(100% - 32px),760px)!important}}

/* Recibo de la membresía: la hoja en pantalla (el PDF sale del mismo HTML) */
.recibo-hoja{background:#fff;border:1px solid var(--nd-line);border-radius:14px;padding:32px 34px;box-shadow:0 10px 30px rgba(60,35,48,.06)}
.recibo-acciones{margin-top:18px!important}
.recibo-acciones .boton{gap:8px}
@media(max-width:600px){.recibo-hoja{padding:20px 16px;overflow-x:auto}}

/* Nombre propio: la tercera opcion (ya tengo mi dominio), el estado y la tabla de DNS */
.plan-propio .plan-host{display:inline-flex;align-items:center;gap:7px}
.plan-propio .plan-ayuda{display:block;font-size:13px;font-weight:400;color:var(--nd-muted);margin:2px 0 8px}
.plan-propio input[type=text]{margin-top:4px}
.estado-dominio{background:#fff;border:1px solid var(--nd-line);border-left:5px solid #c9a35a;border-radius:14px;padding:18px 20px;margin:8px 0 18px;max-width:760px}
.estado-dominio.ok{border-left-color:#2f8a5b;background:#f7faf8}
.estado-dominio .titulo-estado{font:600 22px var(--nd-display);margin:0 0 6px;word-break:break-all}
.estado-dominio form.enlinea{margin-top:6px}
table.dns{width:100%;max-width:560px;border-collapse:collapse;margin:10px 0;font-size:14px}
table.dns th,table.dns td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--nd-line)}
table.dns th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--nd-muted)}

/* Pago: elegir tarjeta o Mercado Pago, el formulario de tarjeta y la franja de confianza */
.pago-medios{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 24px 0}
.pago-medio{display:flex;align-items:center;gap:10px;text-align:left;min-height:62px;padding:10px 14px!important;border-radius:12px!important;border:1.5px solid var(--nd-line)!important;background:#fff!important;color:var(--nd-ink)!important;font-weight:400;cursor:pointer;box-shadow:none!important}
.pago-medio .ico{flex:none;width:22px;height:22px;color:var(--nd-plum)}
.pago-medio b{display:block;font-size:14px;line-height:1.25}
.pago-medio small{display:block;font-size:12px;color:var(--nd-muted);font-weight:400}
.pago-medio.activo{border-color:var(--nd-plum)!important;background:var(--nd-rose)!important;box-shadow:0 0 0 3px rgba(104,40,67,.1)!important}
.pago-panel{padding:20px 24px 0}
.pago-nota{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px!important;font-size:13px;color:var(--nd-muted);line-height:1.45}
.pago-nota .ico{flex:none;width:16px;height:16px;margin-top:1px;color:var(--nd-plum)}
.pago-cargando{padding:28px 0;text-align:center;color:var(--nd-muted);font-size:14px}
#pago-tarjeta{min-height:120px}
form.pago-tarjeta-form{padding:0!important}
form.pago-tarjeta-form .msg{display:block;margin:6px 0 0;font-weight:600}
.pago-panel form.pago-form{padding:0}
.pago-confianza{list-style:none;margin:20px 24px 0!important;padding:12px 14px!important;display:grid;gap:6px;background:#eef7f1;border:1px solid #cfe6d8;border-radius:12px}
.pago-confianza li{color:#24563f!important}
.pago-fin{height:22px}
.pago-confianza li{display:flex;gap:8px;align-items:flex-start;margin:0!important;font-size:13px;color:var(--nd-muted);line-height:1.4}
.pago-confianza .ico{flex:none;width:16px;height:16px;color:#2f7a57;margin-top:1px}
@media(max-width:600px){.pago-medios{grid-template-columns:1fr;padding:16px 18px 0}.pago-panel{padding:12px 18px 0}.pago-confianza{margin:12px 18px 0!important}}

/* Mercado Pago: confirmar el email de la cuenta antes de pagar */
.pago-mp-form label.linea{margin:0 0 14px!important;word-break:break-word}
.pago-mp-cambiar{margin:0 0 12px!important}
label.pago-mp-mail{display:none;margin:-4px 0 14px;font-weight:600;font-size:14px}
label.pago-mp-mail.abierto{display:block;animation:nd-aparece .22s ease-out}
@keyframes nd-aparece{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.pago-panel .pago-confianza{margin:0 0 18px!important}
.pago-boton:disabled{opacity:.5;cursor:not-allowed}
.pago-congelado+.pago-congelado{margin-top:5px!important}
/* El primer título adentro de un formulario no suma aire arriba (el formulario ya tiene su margen interno) */
form.ajax>h2:first-of-type{margin-top:0!important}

/* Cartel para escribir la palabra: el campo con el estilo del sitio y el botón de confirmar apagado hasta que coincide */
.nd-swal .swal2-title{font:600 24px var(--nd-display)!important;color:var(--nd-ink)!important}
.nd-swal .swal2-input{width:auto;max-width:280px;margin:10px auto 4px!important;border:1px solid #cfc0c8;border-radius:9px;box-shadow:none;font-size:16px;text-align:center}
.nd-swal .swal2-input-label{font-size:14px;color:var(--nd-muted);margin:14px auto 0;justify-content:center;text-align:center}
.nd-swal-si:disabled{opacity:.45;cursor:not-allowed}
.nd-swal-escribir .nd-swal-si{background:#a3283e;border-color:#a3283e}

/* Bienvenida: seguir con la direccion gratis, debajo del formulario del nombre */
.seguir-gratis{max-width:760px;margin:6px 0 0;padding:18px 20px;border:1px dashed var(--nd-line);border-radius:14px;text-align:center}
.seguir-gratis p{margin:0 0 8px!important;color:var(--nd-muted)}
.seguir-gratis form.enlinea{display:block}
.seguir-gratis button{width:100%;max-width:520px}
.seguir-gratis p:last-child{margin:8px 0 0!important}
/* Pestañas: en el celular, «Comprar productos» se acorta */
@media(max-width:720px){.tabs a span[data-corto]{font-size:0}.tabs a span[data-corto]::after{content:attr(data-corto);font-size:11px}}

/* Pago del nombre: el dominio en grande en la cabecera */
.pago-host b{font-size:26px!important;word-break:break-all}

/* Premium: el email profesional debajo de la direccion */
.premium-mail{margin-top:6px;flex-wrap:wrap;justify-content:space-between;row-gap:2px}
.premium-mail .premium-url{font-size:15px}
.premium-mail .premium-url .ico{color:var(--nd-plum)}
.premium-mail small{font-size:12px;color:var(--nd-muted);font-weight:500}
.premium-mail .ast{text-decoration:none;color:var(--nd-plum);font-weight:700}

.plan-precio sup.ast{color:var(--nd-plum);font-weight:700;margin-left:1px}

/* Link a una ayuda paso a paso dentro de un formulario, y la lista de pasos */
.ayuda-link{margin:-4px 0 4px!important;font-size:14px}
.ayuda-link a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.ayuda-link .ico{width:16px;height:16px}
ol.pasos-ayuda{padding-left:22px}
ol.pasos-ayuda li{margin:0 0 10px;line-height:1.5}
.modal-texto .volver{display:none}

/* Horarios de una profesional: dia, desde y hasta en columnas alineadas */
.horario-fila{display:grid;grid-template-columns:96px minmax(0,150px) 20px minmax(0,150px);align-items:center;gap:8px;margin:0 0 10px}
.horario-fila>span:first-child{font-weight:600;color:var(--nd-ink)}
.horario-fila .a{text-align:center;color:var(--nd-muted)}
.horario-fila input[type=time],.horario-fila select{margin-top:0!important;width:100%}
@media(max-width:420px){.horario-fila{grid-template-columns:80px 1fr 14px 1fr;gap:6px}}

/* Lugares de atencion: dos campos en una fila (tipo y cantidad) y la lista de la sede */
.fila-2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:520px){.fila-2{grid-template-columns:1fr}}
.lugar-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;margin:0!important;border-bottom:1px solid var(--nd-line)}
.lugar-fila small{color:var(--nd-muted);margin-left:6px}

/* «Ver más» de la direccion: la flecha gira al abrir */
[data-lugar-a-mano] .ico{transition:transform .2s;vertical-align:-2px}
[data-lugar-a-mano][aria-expanded=true] .ico{transform:rotate(180deg)}
.lugar-fila form.enlinea{margin:0}

/* Dias y horarios de la profesional: un renglon por dia, horario cortado y copiar a otros dias */
.semana-horas{margin:2px 0 10px}
.hdia{display:grid;grid-template-columns:132px minmax(0,1fr) auto;align-items:start;gap:10px;padding:9px 6px;border-bottom:1px solid var(--nd-line);border-radius:10px}
.hdia:last-of-type{border-bottom:0}
.hdia.copiando{background:var(--nd-rose)}
.hdia.copiado{animation:hcopiado 1.2s ease}
@keyframes hcopiado{0%{background:#ecd5df}100%{background:transparent}}
label.hdia-nombre{display:flex;align-items:center;gap:10px;margin:0;min-height:42px;font-weight:600;color:var(--nd-ink);cursor:pointer}
.hdia-nombre input{width:18px;height:18px;margin:0;flex:none}
.hdia.apagado .hdia-nombre span{color:var(--nd-muted);font-weight:500}
.hdia-rangos{display:grid;gap:8px;min-width:0}
.hrango{display:grid;grid-template-columns:minmax(0,128px) 18px minmax(0,128px) 38px;align-items:center;gap:6px}
.hrango select,.hrango input{margin:0!important;width:100%}
.hrango .a{text-align:center;color:var(--nd-muted)}
.hdia-no{display:none;min-height:42px;align-items:center;color:var(--nd-muted);font-size:14px}
.hdia.apagado .hrango{display:none}
.hdia.apagado .hdia-no{display:flex}
.hdia.apagado .hdia-acc{visibility:hidden}
.hdia-acc{display:flex;gap:2px}
button.hbtn{min-height:0;width:38px;height:42px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--nd-muted);border-radius:8px}
button.hbtn:hover{background:var(--nd-rose);color:var(--nd-plum)}
.hdia.copiando button.hbtn:hover{background:#fff}
button.hbtn .ico{width:18px;height:18px}
.semana-horas+p small .ico,.semana-horas~p small .ico{width:14px;height:14px;vertical-align:-2px}
.hcopiar{margin:6px 0 10px;padding:14px 16px;border:1px solid #dcc3cf;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(104,40,67,.08)}
.hcopiar p{margin:0 0 10px!important;font-size:14px;font-weight:600}
.hcopiar-dias{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
label.hchip{display:inline-flex;align-items:center;gap:7px;margin:0;padding:7px 12px;border:1px solid var(--nd-line);border-radius:99px;background:#fff;font-size:13px;font-weight:600;cursor:pointer}
label.hchip input{margin:0;width:15px;height:15px}
label.hchip:has(input:checked){border-color:var(--nd-plum);background:var(--nd-rose);color:var(--nd-plum)}
.hcopiar-acc{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.hcopiar-fin{display:flex;gap:8px;margin-left:auto}
.hcopiar-fin button{min-height:38px;padding:7px 16px!important}
.hrango.aparece,.hcopiar.aparece{animation:aparece .25s ease}
@media(max-width:560px){
  .hdia{grid-template-columns:1fr auto;gap:6px 8px}
  .hdia-rangos{grid-column:1/-1;grid-row:2}
  .hdia.apagado .hdia-rangos{display:none}
  .hrango{grid-template-columns:1fr 14px 1fr 38px}
  .hcopiar-fin{margin-left:0;width:100%}.hcopiar-fin button{flex:1}
}

/* Seña: el valor propio va al lado de su opción, con % o $ y lo que paga la clienta */
.sena-otra{display:flex;align-items:center;gap:8px;margin:-2px 0 10px 34px}
.sena-otra input{width:110px!important;margin:0!important}
.sena-otra select{width:auto!important;min-width:64px;margin:0!important}
.sena-otra small{font-weight:600;color:var(--nd-plum)}
[data-sena-monto]{color:var(--nd-muted);font-weight:500}
.sena-politica{margin:10px 0 0!important}
.sena-otra{flex-wrap:wrap}
.sena-otra .err{order:9;flex-basis:100%;margin:0!important}
button:disabled:not(.cargando){cursor:not-allowed}

/* Seña: barra fija con la cuenta regresiva */
.cuenta-atras{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;padding:11px 16px;background:var(--nd-plum);color:#fff;font-size:14px;text-align:center}
.cuenta-atras .ico{width:17px;height:17px}
.cuenta-atras b{font-variant-numeric:tabular-nums;font-size:16px}
.cuenta-atras.urge{background:#b3261e}
.cuenta-atras.fin{background:#3a2a31}
.cuenta-atras a{color:#fff;font-weight:700}
/* Ficha del turno */
.turno-ficha{margin:0 0 22px;padding:18px 20px;border:1px solid var(--nd-line);border-radius:14px;background:#fff}
.turno-ficha p{margin:0 0 6px!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.turno-ficha p:last-child{margin:0!important}
.turno-ficha .ico{width:16px;height:16px;color:var(--nd-plum);flex:none}
.turno-ficha-titulo{font-family:var(--nd-display);font-size:21px;font-weight:600}
.turno-ficha .chip-estado{display:inline-block;margin:0 0 8px!important;padding:3px 10px;border-radius:99px;background:var(--nd-rose);color:var(--nd-plum);font-size:12px;font-weight:700}
/* Pagar la seña */
.pagar-sena{margin:0 0 26px}
.pagar-sena form.enlinea{display:block}
.pagar-sena button.mp-boton{width:100%;min-height:52px;background:#009ee3;font-size:15px}
.pagar-sena button.mp-boton:hover{background:#0084c2}
.separador{display:flex;align-items:center;gap:12px;margin:18px 0!important;color:var(--nd-muted);font-size:13px}
.separador::before,.separador::after{content:'';flex:1;border-top:1px solid var(--nd-line)}
ol.pasos-pago{list-style:none;counter-reset:paso;margin:0;padding:0}
ol.pasos-pago>li{counter-increment:paso;position:relative;padding:0 0 18px 42px}
ol.pasos-pago>li::before{content:counter(paso);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;background:var(--nd-plum);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
ol.pasos-pago>li>b{display:block;margin:0 0 10px;font-size:16px}
ol.pasos-pago form{margin-top:0}
dl.datos-transferir{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;align-items:center;margin:0;padding:14px 16px;border-radius:12px;background:#fff;border:1px solid var(--nd-line)}
dl.datos-transferir dt{color:var(--nd-muted);font-size:13px}
dl.datos-transferir dd{margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;word-break:break-all}
.pagar-sena.vencida{opacity:.45;pointer-events:none}
/* Pie del turno: politica, cambiar, escribirle y cancelar */
.turno-pie{margin:8px 0 0;padding:16px 0 0;border-top:1px solid var(--nd-line)}
.turno-pie p{margin:0 0 10px!important}
.turno-pie-acc{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:14px}
.turno-pie-acc a{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.turno-pie-acc .ico{width:16px;height:16px}
.turno-pie-acc button.sec{min-height:36px;padding:6px 14px!important;font-size:13px}
/* Sus turnos en la portada del negocio y en «Tengo un turno» */
.mis-turnos{display:grid;gap:8px;margin:0 0 18px}
a.mi-turno{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--nd-line);border-radius:14px;background:#fff;color:var(--nd-ink);text-decoration:none}
a.mi-turno:hover{border-color:#a9778d}
a.mi-turno>.ico{width:22px;height:22px;color:var(--nd-plum);flex:none}
a.mi-turno span{flex:1;display:flex;flex-direction:column;min-width:0}
a.mi-turno small{color:var(--nd-muted)}
a.mi-turno em{font-style:normal;font-weight:700;color:var(--nd-plum);white-space:nowrap}
a.mi-turno.urge{border-color:var(--nd-plum);background:var(--nd-rose)}
a.mi-turno.urge small{color:var(--nd-plum);font-weight:600}

/* Aviso de cobros (Agenda): sin alias ni Mercado Pago */
.aviso-cobros{display:flex;align-items:center;gap:12px;max-width:760px;margin:-6px 0 24px;padding:14px 16px;border:1px solid #e3b9c9;border-radius:14px;background:#fbeef3}
.aviso-cobros>.ico{width:24px;height:24px;color:var(--nd-plum);flex:none}
.aviso-cobros span{flex:1;font-size:14px;line-height:1.45}
.aviso-cobros .boton{white-space:nowrap}
@media(max-width:560px){.aviso-cobros{flex-wrap:wrap}.aviso-cobros .boton{width:100%;text-align:center}}

/* Cartelito de «Guardado.» despues de recargar */
.cartelito{position:fixed;left:50%;bottom:24px;z-index:200;transform:translate(-50%,16px);opacity:0;padding:11px 18px;border-radius:10px;background:#2a1520;color:#fff;font-size:14px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.cartelito.visible{opacity:1;transform:translate(-50%,0)}
.con-tabs .cartelito{bottom:86px}
@media(min-width:721px){.con-tabs .cartelito{bottom:24px}}

/* Campos de archivo: zona para tocar o arrastrar, con vista previa (js/app.js) */
.archivo{position:relative;margin-top:6px;border:1.5px dashed #d6bfca;border-radius:12px;background:#fdf9fb;transition:border-color .15s,background-color .15s}
.archivo:hover,.archivo.arrastrando{border-color:var(--nd-plum);background:var(--nd-rose)}
.archivo input[type=file]{position:absolute;inset:0;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0;cursor:pointer;z-index:1}
.archivo-vacio{display:flex;align-items:center;gap:14px;padding:18px 18px;font-weight:400;color:var(--nd-muted);font-size:14px}
.archivo-vacio .ico{width:26px;height:26px;color:var(--nd-plum);flex:none}
.archivo-vacio b{color:var(--nd-plum)}
.archivo-vacio small{display:block;margin-top:2px;font-size:12px}
.archivo.con-archivo{border-style:solid;border-color:var(--nd-line);background:#fff}
.archivo-listo{display:flex;align-items:center;gap:12px;padding:10px 12px}
.archivo-vista{width:52px;height:52px;flex:none;border-radius:8px;overflow:hidden;background:var(--nd-rose);display:flex;align-items:center;justify-content:center;color:var(--nd-plum)}
.archivo-vista img{width:100%;height:100%;object-fit:cover}
.archivo-vista .ico{width:24px;height:24px}
.archivo-datos{flex:1;min-width:0;display:flex;flex-direction:column}
.archivo-datos b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--nd-ink)}
.archivo-datos small{font-weight:400}
button.archivo-quitar{position:relative;z-index:2;min-height:34px;padding:6px 12px!important;background:#fff;color:var(--nd-plum);border:1px solid var(--nd-line);font-size:13px}
button.archivo-quitar:hover{background:var(--nd-rose)}
.archivo:has(.con-error){border-color:#b3261e}
.archivo [hidden]{display:none!important}

/* «Para revisar»: numero en la pestaña y el vacio */
.subtabs em.sub-num{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;margin-left:4px;padding:0 5px;border-radius:99px;background:#b3261e;color:#fff;font-style:normal;font-size:11px;font-weight:700;line-height:1}
.nada-revisar{display:flex;align-items:center;gap:8px;padding:14px 16px;border-radius:12px;background:#eef6f0;color:#25633a;font-weight:600}
.nada-revisar .ico{width:18px;height:18px}
ul.menu.revisar{grid-template-columns:1fr!important;max-width:760px}
ul.menu.revisar a.con-precio>span{flex:1}
ul.menu.revisar a.con-precio strong{white-space:nowrap;font-size:14px}

/* Fotos de los servicios */
.servicios-grid a.con-foto{padding:0 0 16px;overflow:hidden}
.servicios-grid a.con-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;margin:0 0 10px}
.servicios-grid a.con-foto b,.servicios-grid a.con-foto span{padding:0 18px}
img.serv-mini{width:56px;height:56px;flex:none;border-radius:10px;object-fit:cover}
ul.menu a.serv-con-foto{display:flex;align-items:center;gap:14px}
ul.menu a.con-precio.con-foto{gap:14px}
img.serv-foto{display:block;width:100%;max-height:340px;object-fit:cover;border-radius:16px;margin:0 0 18px}
.serv-foto-actual{display:flex;align-items:center;gap:14px;margin:6px 0 0}
.serv-foto-actual img{width:88px;height:88px;border-radius:12px;object-fit:cover;flex:none}
.serv-foto-actual label.linea{flex:1}
ul.menu a.con-precio.con-foto>span{flex:1}

/* «Entrar como»: barra para volver al admin */
.barra-como{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 16px;padding:8px 16px;background:#e8a33d;color:#2a1a05;font-size:13px}
.barra-como form.enlinea{display:inline}
.barra-como button{min-height:32px;padding:4px 14px!important;background:#2a1a05;color:#fff;font-size:13px}

/* Tienda de la afiliada: grilla de productos, catalogo de Nueva Dermo y ganancia en vivo */
.filtro-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 16px}
.filtro-chips a{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border:1px solid var(--nd-line);border-radius:99px;background:#fff;color:var(--nd-ink);font-size:13px;font-weight:600;text-decoration:none}
.filtro-chips a.activo{background:var(--nd-plum);border-color:var(--nd-plum);color:#fff}
.filtro-chips em{font-style:normal;font-weight:500;opacity:.7}
.prod-grilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:0 0 22px}
.prod-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--nd-line);border-radius:14px;overflow:hidden}
.prod-card.oculto>a img,.prod-card.oculto>img{opacity:.45}
.prod-card-link{display:flex;flex-direction:column;flex:1;color:var(--nd-ink);text-decoration:none}
.prod-card img,.prod-sin-foto{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7f1f4}
.prod-sin-foto{display:flex;align-items:center;justify-content:center;color:#c9aebb}
.prod-sin-foto .ico{width:34px;height:34px}
.prod-card-txt{display:flex;flex-direction:column;gap:3px;padding:12px 14px;flex:1}
.prod-card-txt b{font-size:14px;line-height:1.3}
.prod-precio{color:var(--nd-plum);font-weight:700;font-size:15px}
.prod-card-txt small{font-size:12px}
.prod-card form.prod-visible{display:block;margin:0;padding:0 14px 12px}
.cat-card form.cat-agregar{display:block;margin:0;padding:0 12px 12px}
.cat-card form.cat-agregar button{width:100%;min-height:38px;padding:6px 10px!important;display:inline-flex;align-items:center;justify-content:center;gap:4px}
.cat-card .en-tienda{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 12px 12px;min-height:38px;border-radius:9px;background:#eef6f0;color:#25633a;font-weight:700;font-size:14px;text-decoration:none}
.cat-card .en-tienda .ico{width:16px;height:16px}
.cat-margen{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--nd-line);font-size:14px}
.cat-margen form{display:inline-flex;align-items:center;gap:8px}
.cat-margen input{width:80px!important;margin:0!important;min-height:38px;text-align:center}
.cat-buscar{display:flex;gap:8px;margin:0 0 12px}
.cat-buscar input{flex:1;margin:0!important}
.cat-buscar button{min-width:48px;display:inline-flex;align-items:center;justify-content:center}
/* Interruptor (Visible) */
label.interruptor{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;font-size:13px;font-weight:600;cursor:pointer}
label.interruptor input{position:absolute;opacity:0;width:0;height:0}
label.interruptor span{position:relative;width:36px;height:20px;border-radius:99px;background:#d9cbd2;transition:background .2s}
label.interruptor span::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
label.interruptor input:checked+span{background:var(--nd-plum)}
label.interruptor input:checked+span::after{transform:translateX(16px)}
label.interruptor input:focus-visible+span{outline:3px solid #a85075;outline-offset:2px}
.calc-ganancia{margin:4px 0 12px!important;font-weight:700;color:var(--nd-plum)}
.calc-ganancia.mal{color:#b3261e}
details.tienda-envio{margin:18px 0 0;max-width:760px}
details.tienda-envio>summary{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--nd-plum);cursor:pointer;padding:10px 0}
details.tienda-envio>summary .ico{width:18px;height:18px}
@media(max-width:520px){.prod-grilla{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:720px){.filtro-chips{flex-wrap:nowrap;overflow-x:auto;margin-left:-16px;margin-right:-16px;padding:0 16px 4px;scrollbar-width:none}.filtro-chips a{flex:none}}

/* Tienda de la clienta: carrito y pedido */
.carrito-flotante{white-space:nowrap}
.carrito-total{font-size:18px}
.carrito-subtotal[hidden]{display:none!important}
ul.pedido-items{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
ul.pedido-items li{display:flex;align-items:center;gap:12px}
ul.pedido-items img,ul.pedido-items .prod-sin-foto{width:44px;height:44px;flex:none;border-radius:8px;object-fit:cover;aspect-ratio:auto}
ul.pedido-items span:not(.prod-sin-foto){flex:1;font-size:14px}
ul.pedido-items b{white-space:nowrap}
.pedido-total{justify-content:space-between;padding-top:10px;border-top:1px solid var(--nd-line);font-size:17px}
.pedido-total b{color:var(--nd-plum)}
/* Subtotal y envío chicos, el total destacado */
.carrito-subtotal{padding:6px 4px;border-top:0;font-size:15px;margin:0!important;color:var(--nd-muted)}
.carrito-subtotal b{font-size:16px;color:var(--nd-ink)}
.carrito-subtotal:first-of-type{margin-top:14px!important;padding-top:14px;border-top:1px solid var(--nd-line)}
.carrito-subtotal.carrito-total{margin:6px 0 10px!important;padding-top:12px;border-top:1px solid var(--nd-line);font-size:18px;color:var(--nd-ink)}
.carrito-subtotal.carrito-total b{font-size:24px;color:var(--nd-plum)}
@media(max-width:560px){ol.pasos-pago>li{padding-left:0}ol.pasos-pago>li>b{display:flex;align-items:center;min-height:28px;padding-left:40px}}

/* Pedidos de su tienda */
small.est-pedido{display:inline-block;margin-left:4px;padding:1px 8px;border-radius:99px;background:#f1ecee;color:var(--nd-muted);font-size:11px;font-weight:700}
small.est-pedido.est-pendiente_pago{background:#fdf1df;color:#8a5a12}
small.est-pedido.est-pagado,small.est-pedido.est-en_preparacion{background:#e8f3ec;color:#25633a}
ul.menu a.pide-accion{border-left:4px solid var(--nd-plum)}
.pedido-sigue{margin:6px 0 18px}
.pedido-sigue p{margin:0 0 10px}
.ficha{max-width:760px}

/* Registros de Brevo en admin */
pre.registros{white-space:pre-wrap;word-break:break-all;background:#f6f2f4;border-radius:8px;padding:8px 10px;font-size:12px;margin:6px 0 8px}

/* Reserva, paso de opciones: ficha del servicio y barra con precio y boton */
.serv-ficha{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(60,35,48,.07);margin:0 0 22px}
.serv-ficha>img{display:block;width:100%;aspect-ratio:16/9;max-height:320px;object-fit:cover}
.serv-ficha-txt{padding:18px 20px 20px}
.serv-ficha-txt>p:first-child{margin-top:0}
.serv-etiquetas{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.serv-etiquetas span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:#f6eff2;color:var(--nd-ink);font-size:13px;font-weight:600}
.serv-etiquetas svg{width:15px;height:15px;color:var(--nd-plum)}
.serv-cuidados{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;padding:10px 12px;border-radius:12px;background:#fbf7f0;font-size:13px;color:var(--nd-muted)}
.serv-cuidados svg{flex:none;width:16px;height:16px;margin-top:2px}
.flujo-reserva form.ajax:not(.enlinea)>p.reserva-pie{display:flex;align-items:center;gap:16px}
.reserva-pie .choice-summary{flex-direction:column;align-items:flex-start;gap:0;padding:0;border:0;white-space:nowrap}
.reserva-pie .choice-summary small{font-size:12px;font-weight:500;color:var(--nd-muted)}
.flujo-reserva form.ajax:not(.enlinea)>p.reserva-pie button{width:auto;flex:1}
/* La barra del paso de opciones va al mismo ancho que la ficha (no se sale de los costados) */
.flujo-reserva form.ajax:not(.enlinea)>p.reserva-pie{margin:22px 0 0;border-radius:18px;padding:14px 16px}
@media(max-width:600px){.flujo-reserva form.ajax:not(.enlinea)>p.reserva-pie{margin:18px 0 0;border-radius:16px}}

/* Calendario de dias sueltos y dias libres */
.cal-dias{max-width:420px;margin:0 0 24px}
.cal-cab{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px}
.cal-cab b{font-size:16px}
.cal-cab .hbtn[disabled]{opacity:.25}
.cal-grilla{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-sem{font-size:11px;font-weight:700;color:var(--nd-muted);padding:2px 0}
.cal-d{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;border:1px solid transparent;background:#fff;color:var(--nd-ink);font-size:14px;font-weight:600;padding:0;min-height:0;box-shadow:none;cursor:pointer}
button.cal-d:hover{border-color:var(--nd-plum)}
.cal-d.pasado{background:transparent;color:#c9bfc4;cursor:default}
.cal-d.hoy{border-color:var(--nd-line)}
.cal-d.semana{background:#f3e9ee}
.cal-d.trabaja{background:var(--nd-plum);color:#fff}
.cal-d.libre{background:#fff;color:#b3a7ad;text-decoration:line-through}
.cal-d.elegido{outline:3px solid #e7b9cb;outline-offset:1px}
.cal-ref{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:var(--nd-muted);margin:10px 0}
.cal-ref .cal-d{display:inline-flex;width:22px;height:22px;font-size:11px;border-radius:6px;cursor:default}
.cal-editar{background:#fff;border-radius:16px;padding:16px;box-shadow:0 6px 24px rgba(60,35,48,.07);margin:12px 0}
.cal-editar form.ajax{padding:0;box-shadow:none;background:transparent;margin:0}
.cal-titulo{font-weight:700;font-size:16px;margin:0 0 10px}
.cal-botones{display:flex;gap:8px}
.cal-lista{list-style:none;padding:0;margin:12px 0 0;font-size:14px}
.cal-lista li{padding:6px 0;border-bottom:1px solid var(--nd-line)}
.cal-lista .enlace{background:none;border:0;padding:0;color:var(--nd-ink);font:inherit;text-align:left;cursor:pointer;box-shadow:none;min-height:0}
.opciones-linea{display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:600px){.opciones-linea{grid-template-columns:1fr}}
.cal-grilla{grid-template-columns:repeat(7,minmax(0,1fr))}
.cal-d{width:100%;min-width:0}
.opciones-linea label.linea{align-items:center}
.opciones-linea .choice-copy{display:flex;flex-direction:column;gap:1px}
.opciones-linea .choice-copy small{font-size:12px;font-weight:400;color:var(--nd-muted)}
/* Admin › Afiliadas: «Entrar» al lado de cada una */
ul.menu li.con-entrar{display:flex;align-items:center;gap:8px}
ul.menu li.con-entrar>a{flex:1}
ul.menu li.con-entrar>form{margin:0;padding:0;box-shadow:none;background:none}

/* Formas de entrega: carrito y panel */
.envio-opciones{display:grid;gap:8px}
.envio-op{align-items:center!important}
.envio-op .choice-copy{display:flex;flex:1;flex-direction:column;gap:2px}
.envio-op .choice-copy small{font-size:12px;font-weight:400;color:var(--nd-muted)}
.envio-op .choice-copy small.envio-falta{color:#8a5a12}
.envio-op .choice-copy small.envio-gratis{color:#25633a;font-weight:600}
.envio-op strong{white-space:nowrap;font-size:15px}
.envio-op select{margin-top:6px;max-width:100%}
.envio-op .envio-mapa{font-size:12px;display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.envio-op .envio-mapa svg{width:13px;height:13px}
.envio-ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;border-radius:50%;background:#f6eff2;color:var(--nd-plum)}
.envio-ico svg{width:18px;height:18px}
fieldset.envio-dir.opcional{opacity:.55}
ul.envio-metodos a{display:flex!important;align-items:center;gap:12px}
.envio-tipos label.linea svg{width:18px;height:18px;color:var(--nd-plum);flex:none}
.envio-zonas .fila-2{margin-bottom:6px}
[data-envio-linea][hidden]{display:none!important}
.envio-dir label:has([name=u_piso]){display:none}
.envio-op select{width:100%}

/* Cursos del panel: seguir donde dejo y el avance de cada curso */
.seguir-curso{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:16px 18px;margin:0 0 18px;box-shadow:0 6px 24px rgba(60,35,48,.07);color:var(--nd-ink);text-decoration:none}
.seguir-curso>svg:first-child{width:34px;height:34px;color:var(--nd-plum);flex:none}
.seguir-curso>span{flex:1;display:flex;flex-direction:column;gap:3px}
.seguir-curso small{color:var(--nd-muted);font-size:12px}
.seguir-curso b{font-size:16px}
.barra-avance{display:block;height:5px;border-radius:9px;background:#efe6ea;overflow:hidden;margin:4px 0 2px;max-width:260px}
.barra-avance i{display:block;height:100%;background:var(--nd-plum);border-radius:9px}
.cat-cursos em.curso-hecho{font-style:normal;color:#25633a;font-weight:600;display:inline-flex;align-items:center;gap:4px}
.cat-cursos em.curso-hecho svg{width:14px;height:14px}
.cursos-panel{max-width:760px}
.cat-cursos .barra-avance{width:200px;max-width:100%}
/* Paginas de cada negocio: el mismo contenedor de 760 que el resto del sitio (la tienda, con su grilla, va mas ancha) */
.sitio-negocio:not(.tienda-negocio) main,.sitio-negocio:not(.tienda-negocio) .site-header,.sitio-negocio:not(.tienda-negocio) .site-footer{width:min(calc(100% - 48px),760px)}
@media(max-width:600px){.sitio-negocio:not(.tienda-negocio) main,.sitio-negocio:not(.tienda-negocio) .site-header,.sitio-negocio:not(.tienda-negocio) .site-footer{width:min(calc(100% - 32px),760px)}}
/* Pie de la pagina de cada negocio: «Hecho con ♥ en Nueva Dermo» */
.hecho-con{white-space:nowrap}
.hecho-con svg{width:12px;height:12px;vertical-align:-1px;color:var(--nd-plum);fill:var(--nd-plum);margin:0 1px}

/* Ficha del producto: grupos de opciones */
.ficha-comprar{flex-wrap:wrap}
.ficha-opciones{width:100%;border:0;padding:0;margin:0 0 14px}
.ficha-opciones legend{font-weight:700;font-size:14px;margin:0 0 8px;padding:0}
.opcion-chips{display:flex;flex-wrap:wrap;gap:8px}
.opcion-chip{position:relative;cursor:pointer;margin:0}
.opcion-chip input{position:absolute;opacity:0;pointer-events:none}
.opcion-chip span{display:inline-flex;align-items:center;gap:4px;padding:9px 16px;border:1.5px solid var(--nd-line);border-radius:99px;background:#fff;font-size:14px;font-weight:600}
.opcion-chip small{font-weight:500;color:var(--nd-muted)}
.opcion-chip input:checked+span{border-color:var(--nd-plum);background:#f6eff2;color:var(--nd-plum)}
.opcion-chip input:focus-visible+span{outline:2px solid var(--nd-plum);outline-offset:2px}
a.elegir-opciones{width:100%;justify-content:center}
.opciones-editor{margin:10px 0 16px}
.opciones-grupo{margin-bottom:6px}
/* Paginas de los negocios: menos aire entre el encabezado y el contenido */
.sitio-negocio main,.portada-negocio main{margin-top:28px}
