/* HANNA SALÓN & SPA — refinamiento visual completo.
   Rosa nude, blanco cálido, tipografía editorial y fotografías visibles. */
:root{--hanna-bg:#fffaf8;--hanna-paper:#fffdfb;--hanna-rose-soft:#f6e6e4;--hanna-rose:#b7808a;--hanna-plum:#653f4b;--hanna-plum-muted:#86636d;--hanna-gold:#c69b62;--hanna-line:#edd6d1}
html{scroll-padding-top:105px}
body{background:#fffaf8!important;color:var(--hanna-plum)}
/* Tarjetas de categoría: imagen legible a la derecha, disolución suave a la izquierda */
#serviceCategoryTabs .hanna-category-card{background:#f9eeeb!important;border-color:#ebd0cc;box-shadow:0 12px 30px rgba(105,56,74,.055);min-height:185px;transition:transform .23s,box-shadow .23s}
#serviceCategoryTabs .hanna-category-card:hover{box-shadow:0 15px 38px rgba(119,68,82,.14);transform:translateY(-4px)}
#serviceCategoryTabs .hanna-category-card .hanna-category-card-photo{
 z-index:0!important;width:70%!important;opacity:1!important;
 -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 22%,rgba(0,0,0,.92) 55%,#000 100%)!important;
 mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.28) 22%,rgba(0,0,0,.92) 55%,#000 100%)!important;
}
#serviceCategoryTabs .hanna-category-card .hanna-category-card-photo img{
 width:100%;height:100%;object-fit:cover;object-position:center;
 opacity:.97;filter:brightness(1.025) contrast(1.06) saturate(.86)!important;
}
#serviceCategoryTabs .hanna-category-card .hanna-category-card-photo::after{
 background:linear-gradient(90deg,#f9eeeb 0%,rgba(249,238,235,.34) 31%,rgba(249,238,235,.06) 74%,rgba(249,238,235,.08) 100%)!important
}
#serviceCategoryTabs .hanna-category-icon,#serviceCategoryTabs .hanna-category-copy,#serviceCategoryTabs .hanna-category-count{z-index:2;position:relative}
#serviceCategoryTabs .hanna-category-copy{width:84%;text-shadow:0 1px 10px #fbefeb}
#serviceCategoryTabs .hanna-category-copy strong{color:#633b49;font-size:24px;letter-spacing:.005em}
#serviceCategoryTabs .hanna-category-copy small{color:#80555f;font-size:11px;font-weight:500;max-width:177px}
#serviceCategoryTabs .hanna-category-count{color:#845c67;font-weight:700;background:rgba(255,246,243,.43);width:max-content;max-width:95%;border-radius:6px;padding:2px 4px;margin-left:-4px}
#serviceCategoryTabs .hanna-category-icon{background:rgba(253,237,235,.87);color:#915767;border:1px solid rgba(185,127,139,.16)}
#serviceCategoryTabs .hanna-category-arrow{z-index:2;right:16px;color:#8e5868}
#hannaCategoryDialog .hanna-category-intro-image img{filter:saturate(.90) contrast(1.02) brightness(1.02)}
#hannaCategoryDialog .hanna-category-intro-image::after{
 background:linear-gradient(90deg,#f6e4e2 0%,rgba(246,228,226,.5) 15%,rgba(246,228,226,.04) 49%,rgba(246,228,226,.08) 100%)
}
#hannaCategoryDialog .hanna-category-list-wrap{max-width:1300px}
/* Tarjetas dentro de cada categoría */
#hannaCategoryDialog .hanna-service-card{
 background:var(--hanna-paper)!important;border:1px solid #ecd6d1!important;
 border-radius:22px!important;overflow:hidden;display:flex;flex-direction:column;
 box-shadow:0 8px 28px rgba(109,58,74,.065)!important;min-height:450px;
 padding:0!important;transition:box-shadow .22s,transform .22s;cursor:pointer
}
#hannaCategoryDialog .hanna-service-card:hover{transform:translateY(-4px);box-shadow:0 15px 40px rgba(121,60,82,.14)!important;border-color:#d9b0ae!important}
#hannaCategoryDialog .hanna-service-media{height:155px;position:relative;overflow:hidden;flex-shrink:0;background:#f5dedb}
#hannaCategoryDialog .hanna-service-media>img{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.82) contrast(1.02);transition:transform .35s}
#hannaCategoryDialog .hanna-service-card:hover .hanna-service-media>img{transform:scale(1.045)}
#hannaCategoryDialog .hanna-service-media-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(78,41,52,.30),transparent 42%)}
#hannaCategoryDialog .hanna-service-media-caption{position:absolute;bottom:11px;left:17px;letter-spacing:.12em;font-size:9px;font-weight:750;color:white;text-shadow:0 1px 5px #654050}
#hannaCategoryDialog .hanna-service-content{padding:22px 22px 20px;display:flex;flex-direction:column;flex:1;min-width:0}
#hannaCategoryDialog .hanna-service-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:23px;margin-bottom:11px}
#hannaCategoryDialog .hanna-service-overline{font-size:10px;letter-spacing:.17em;color:#aa7b82;font-weight:800;text-transform:uppercase;line-height:1.35}
#hannaCategoryDialog .hanna-service-duration{font-size:10px;color:#987e82;display:flex;align-items:center;gap:5px;white-space:nowrap}
#hannaCategoryDialog .hanna-service-name{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(27px,2.5vw,31px);font-weight:700;line-height:1.1;color:#613948;margin:0 0 11px;letter-spacing:-.012em}
#hannaCategoryDialog .hanna-service-description{font-family:'Plus Jakarta Sans',sans-serif;color:#826774;font-size:12px;line-height:1.75;font-weight:450;margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:62px}
body.hanna-visual-active #hannaCategoryDialog .hanna-service-description[contenteditable]{display:block;overflow:visible;-webkit-line-clamp:unset}
#hannaCategoryDialog .hanna-service-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:9px;border-top:1px solid #ead6d2;padding-top:16px;margin-top:auto}
#hannaCategoryDialog .hanna-service-amount{min-width:0;display:flex;flex-direction:column;gap:4px}
#hannaCategoryDialog .hanna-service-amount small{font-size:9px;letter-spacing:.07em;font-weight:750;color:#ac8588}
#hannaCategoryDialog .hanna-service-amount strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(19px,2vw,24px);line-height:1.1;font-weight:700;color:#935f6c;white-space:nowrap}
#hannaCategoryDialog .hanna-service-buttons{display:flex;align-items:center;gap:6px;flex-shrink:0}
#hannaCategoryDialog .hanna-service-more{background:#8f606d!important;color:#fff!important;border:1px solid #8f606d!important;border-radius:25px!important;display:flex;align-items:center;gap:7px;padding:11px 12px!important;font-size:11px!important;font-weight:800!important;white-space:nowrap;cursor:pointer;box-shadow:0 5px 11px rgba(110,54,71,.13)}
#hannaCategoryDialog .hanna-service-more:hover{background:#724957!important;color:#fff!important}
#hannaCategoryDialog .hanna-service-reserve{display:flex;align-items:center;justify-content:center;background:#f6e5e3!important;color:#8c5362!important;border:1px solid #edcfcd!important;border-radius:50%!important;min-width:37px;width:37px;height:37px;padding:0!important;font-size:14px!important;cursor:pointer}
#hannaCategoryDialog .hanna-service-reserve:hover{background:#eac9c8!important}
#hannaCategoryDialog .hanna-service-media .hanna-v-remove{z-index:80}
#hannaCategoryDialog .hanna-visual-service-add-photo{position:absolute;right:10px;bottom:8px;z-index:30;background:#fff8f5!important;color:#8c5865!important;border:1px solid #dca7a9!important;border-radius:12px!important;margin:0!important}
#hannaCategoryDialog .hanna-service-card:focus-visible{outline:3px solid #c8a16e;outline-offset:3px}
/* Vista completa del servicio, dentro del sitio */
#hannaServiceDetail[hidden],#hannaServiceDetail [hidden]{display:none!important}
#hannaServiceDetail{position:fixed;inset:0;z-index:99910;background:#fff9f7;display:flex;align-items:stretch;justify-content:center;color:#623d49}
body.hanna-service-detail-open{overflow:hidden!important}
#hannaServiceDetail .hanna-detail-shell{width:100%;max-width:1800px;height:100dvh;overflow:hidden;display:flex;flex-direction:column;background:#fff9f7}
#hannaServiceDetail .hanna-detail-topbar{
 flex-shrink:0;min-height:71px;padding:9px clamp(20px,5vw,75px);display:flex;align-items:center;justify-content:space-between;gap:12px;
 background:#fffdfc;border-bottom:1px solid #ecd9d3;box-shadow:0 3px 20px rgba(76,41,56,.04);z-index:4
}
#hannaServiceDetail .hanna-detail-topbar button{border:0;background:none;color:#79505f;cursor:pointer}
#hannaServiceDetail #hannaDetailBack{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:750;padding:11px 3px}
#hannaServiceDetail #hannaDetailClose{width:40px;height:40px;background:#f5e6e3;border-radius:50%;font-size:16px}
#hannaServiceDetail .hanna-detail-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;font-weight:700;letter-spacing:.15em;color:#8d5c69;display:flex;align-items:center;gap:7px}
#hannaServiceDetail .hanna-detail-brand small{font-family:'Great Vibes',cursive;font-weight:400;font-size:24px;letter-spacing:0}
#hannaServiceDetail .hanna-detail-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#hannaServiceDetail .hanna-detail-body{max-width:1460px;padding:clamp(27px,5vw,72px) clamp(20px,6vw,100px) 60px;margin:auto;display:grid;grid-template-columns:minmax(0,.97fr) minmax(0,1.03fr);gap:clamp(35px,6vw,100px);align-items:start}
#hannaServiceDetail .hanna-detail-info{padding-top:clamp(5px,1vw,30px);min-width:0}
#hannaServiceDetail .hanna-detail-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.23em;color:#b48285;text-transform:uppercase;margin-bottom:17px}
#hannaServiceDetail #hannaDetailTitle{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(47px,5.2vw,81px);font-weight:650;line-height:.99;letter-spacing:-.027em;color:#5a3643;overflow-wrap:break-word;margin:0 0 17px}
#hannaServiceDetail .hanna-detail-ornament{display:flex;align-items:center;gap:10px;color:#c59c61;font-size:12px;margin-bottom:28px}
#hannaServiceDetail .hanna-detail-ornament span{display:block;width:80px;border-top:1px solid #dbb6ac}
#hannaServiceDetail .hanna-detail-info h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:27px;font-weight:700;color:#6b4450;margin:0 0 12px}
#hannaServiceDetail .hanna-detail-description{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;line-height:1.9;color:#785e68;white-space:pre-line;margin-bottom:26px;max-width:540px}
#hannaServiceDetail .hanna-detail-data{display:flex;flex-wrap:wrap;gap:25px;border-top:1px solid #edd9d4;border-bottom:1px solid #edd9d4;padding:19px 0;margin-bottom:25px}
#hannaServiceDetail .hanna-detail-data>div{display:flex;flex-direction:column;gap:5px}
#hannaServiceDetail .hanna-detail-data small{color:#a8858b;font-weight:800;font-size:10px;letter-spacing:.15em}
#hannaServiceDetail .hanna-detail-data strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;line-height:1.1;color:#875b67;font-weight:700}
#hannaServiceDetail .hanna-detail-ctas{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-bottom:19px}
#hannaServiceDetail .hanna-detail-ctas button{display:flex;justify-content:center;align-items:center;gap:9px;cursor:pointer;border-radius:40px;padding:14px 23px;font-size:13px;font-weight:800}
#hannaServiceDetail .hanna-detail-reserve{background:linear-gradient(120deg,#af7b84,#8e5b69);color:white;border:0;box-shadow:0 8px 25px rgba(137,82,93,.19)}
#hannaServiceDetail .hanna-detail-reserve:hover{background:#835361}
#hannaServiceDetail .hanna-detail-info-button{background:#fff;color:#88606c;border:1px solid #e7caca}
#hannaServiceDetail .hanna-detail-info-button:hover{background:#f9e9e6}
#hannaServiceDetail .hanna-detail-notice{font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;color:#947580;line-height:1.7;max-width:550px}
#hannaServiceDetail .hanna-detail-location{display:flex;align-items:center;gap:10px;font-size:11px;color:#98757d;line-height:1.6;margin-top:25px}
#hannaServiceDetail .hanna-detail-location i{color:#bc9562}
#hannaServiceDetail .hanna-detail-gallery{min-width:0;position:relative}
#hannaServiceDetail .hanna-detail-main-image{position:relative;height:clamp(340px,37vw,515px);border-radius:24px;overflow:hidden;background:#f3e3e1;box-shadow:0 18px 43px rgba(121,75,83,.16)}
#hannaServiceDetail .hanna-detail-main-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
#hannaServiceDetail #hannaDetailPhotoLabel{position:absolute;right:16px;bottom:16px;border-radius:30px;background:rgba(255,250,247,.93);color:#916978;font-size:10px;font-weight:800;letter-spacing:.09em;padding:8px 13px}
#hannaServiceDetail .hanna-detail-thumbs{display:flex;align-items:center;gap:11px;margin:14px 0 8px;overflow:auto;padding:3px 0}
#hannaServiceDetail .hanna-detail-thumb{width:90px;min-width:90px;height:76px;padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;background:#f6e6e3;cursor:pointer}
#hannaServiceDetail .hanna-detail-thumb.is-active{border-color:#bb8d98;box-shadow:0 0 0 2px #f3d5d5}
#hannaServiceDetail .hanna-detail-thumb img{width:100%;height:100%;object-fit:cover}
#hannaServiceDetail .hanna-detail-gallery-note{color:#9e7b84;font-size:11px;line-height:1.6;margin:11px 0 0}
#hannaServiceDetail .hanna-detail-admin-photos{margin-top:14px;background:#fff2ef;border:1px dashed #d7abb2;border-radius:14px;padding:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
#hannaServiceDetail .hanna-detail-admin-photos button{padding:9px 12px;background:#fff;border:1px solid #dbb9bb;color:#815260;font-size:11px;font-weight:800;border-radius:11px;cursor:pointer}
#hannaServiceDetail .hanna-detail-admin-photos p{font-size:10px;color:#98707a;line-height:1.5;flex-basis:100%}
#hannaServiceDetail .hanna-detail-bottom{border-top:1px solid #ead5d1;display:flex;justify-content:space-between;gap:13px;padding:23px clamp(20px,6vw,100px);font-size:11px;letter-spacing:.08em;color:#9d7480;max-width:1460px;margin:auto}
@media(max-width:1100px){
 #hannaCategoryDialog .hanna-service-card{min-height:430px}
 #hannaServiceDetail .hanna-detail-body{grid-template-columns:1fr 1fr;gap:30px}
}
@media(max-width:700px){
 #serviceCategoryTabs .hanna-category-card .hanna-category-card-photo{width:73%!important;opacity:1!important}
 #serviceCategoryTabs .hanna-category-copy strong{font-size:21px}
 #hannaCategoryDialog .hanna-service-media{height:170px}
 #hannaCategoryDialog .hanna-service-card{min-height:0}
 #hannaCategoryDialog .hanna-service-content{padding:20px}
 #hannaCategoryDialog .hanna-service-name{font-size:31px}
 #hannaCategoryDialog .hanna-service-description{min-height:0}
 #hannaCategoryDialog .hanna-service-actions{align-items:center}
 #hannaServiceDetail .hanna-detail-topbar{min-height:61px;padding:9px 15px}
 #hannaServiceDetail .hanna-detail-brand{font-size:21px}
 #hannaServiceDetail .hanna-detail-brand small{font-size:18px}
 #hannaServiceDetail #hannaDetailBack{font-size:12px}
 #hannaServiceDetail .hanna-detail-body{grid-template-columns:1fr;gap:25px;padding:30px 19px 40px}
 #hannaServiceDetail .hanna-detail-info{padding-top:0}
 #hannaServiceDetail #hannaDetailTitle{font-size:clamp(47px,11vw,68px);margin-bottom:12px}
 #hannaServiceDetail .hanna-detail-ornament{margin-bottom:20px}
 #hannaServiceDetail .hanna-detail-description{font-size:13px;line-height:1.8}
 #hannaServiceDetail .hanna-detail-data{margin-bottom:20px}
 #hannaServiceDetail .hanna-detail-ctas{flex-direction:column;align-items:stretch}
 #hannaServiceDetail .hanna-detail-ctas button{width:100%}
 #hannaServiceDetail .hanna-detail-main-image{height:355px;border-radius:18px}
 #hannaServiceDetail .hanna-detail-bottom{font-size:10px;padding:20px}
 #hannaServiceDetail .hanna-detail-thumb{width:80px;min-width:80px;height:66px}
}
/* Armonización de secciones adicionales, conservando funciones y datos. */
#servicios,#boutique,#sedes,#lookbook{background:#fffaf8!important}
#promociones{background:linear-gradient(160deg,#f8e8e6 0%,#fff9f7 68%)!important}
#promociones #promosGrid>article,#boutique #productsGrid>div,#sedes #sedesGrid>div{
 background:#fffdfb!important;border:1px solid #ebd7d3!important;border-radius:23px!important;
 box-shadow:0 8px 28px rgba(112,67,80,.06)!important;
 transition:transform .23s,box-shadow .23s
}
#promociones #promosGrid>article:hover,#boutique #productsGrid>div:hover,#sedes #sedesGrid>div:hover{transform:translateY(-4px);box-shadow:0 15px 36px rgba(122,72,88,.13)!important;border-color:#d9b7b1!important}
#promociones #promosGrid img,#boutique #productsGrid img,#sedes #sedesGrid img{filter:saturate(.9) brightness(1.03);transition:transform .45s}
#promociones #promosGrid .text-white,#boutique #productsGrid .text-white,#sedes #sedesGrid .text-white{color:#62414c!important}
#promociones #promosGrid h3,#boutique #productsGrid h3,#sedes #sedesGrid h3{color:#5b3844!important;font-size:clamp(25px,2.7vw,31px)!important;line-height:1.12}
#promociones #promosGrid .text-gray-400,#boutique #productsGrid .text-gray-400,#sedes #sedesGrid .text-gray-400,
#promociones #promosGrid .text-gray-300,#boutique #productsGrid .text-gray-300,#sedes #sedesGrid .text-gray-300{color:#876873!important}
#promociones #promosGrid .text-champagne,#boutique #productsGrid .text-champagne,#sedes #sedesGrid .text-champagne{color:#9b6f79!important}
#promociones #promosGrid .bg-obsidian\/80,#boutique #productsGrid .bg-obsidian\/85,#sedes #sedesGrid .bg-obsidian\/90{background:rgba(255,252,249,.92)!important}
#promociones #promosGrid .border-white\/10,#boutique #productsGrid .border-white\/10,#sedes #sedesGrid .border-white\/10{border-color:#ead4d0!important}
#promociones #promosGrid button.hanna-promo-btn,#boutique #productsGrid button{background:#996b75!important;color:#fff!important;border:0!important;box-shadow:none}
#promociones #promosGrid button.hanna-promo-btn:hover,#boutique #productsGrid button:hover{background:#7b5060!important}
#giftcards{background:linear-gradient(135deg,#8d626f 0%,#664552 60%,#523946 100%)!important;border:1px solid #cfabb0!important}
#giftcards .text-white{color:#fffaf8!important}
#giftcards .text-gray-400{color:#f1dce0!important}
#lookbook .ba-slider-container,#lookbook .rounded-2xl{border-color:#e8cecb!important;box-shadow:0 13px 33px rgba(95,62,74,.09)!important}
#lookbook .text-gray-400{color:#92747d!important}


/* Ajustes finales de lectura, botones y pantallas pequeñas. */
@media(max-width:460px){
 #hannaCategoryDialog .hanna-service-actions{flex-wrap:wrap;align-items:center;gap:12px}
 #hannaCategoryDialog .hanna-service-amount{width:100%}
 #hannaCategoryDialog .hanna-service-buttons{width:100%;justify-content:space-between}
 #hannaCategoryDialog .hanna-service-more{flex:1;justify-content:center!important}
 #hannaCategoryDialog .hanna-service-reserve{width:43px;min-width:43px;height:43px}
 #hannaServiceDetail .hanna-detail-topbar{gap:7px}
 #hannaServiceDetail .hanna-detail-brand small{display:none}
 #hannaServiceDetail .hanna-detail-location{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){
 #hannaCategoryDialog .hanna-service-card,
 #serviceCategoryTabs .hanna-category-card,
 #hannaServiceDetail *{transition:none!important;scroll-behavior:auto!important}
}
