@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@200;300;400;500;600;700&display=swap");
/* =========================================================
   FISIODERM — hoja de estilos única
   Índice: 1. Variables  2. Reset y tipografía  3. Header
   4. Footer  5. Home  6. Hub (línea)  7. Product (ficha)
   ========================================================= */

/* 1. VARIABLES ------------------------------------------- */
:root{
  --fd-green:#3B9679;
  --fd-green-dark:#12312A;
  --fd-green-mid:#1C6A55;
  --fd-green-deep:#0F2620;
  --fd-ink:#0F2620;
  --fd-body:#3B5750;
  --fd-muted:#7B8E88;
  --fd-line:#EAEFEC;
  --fd-tint:#F2F6F4;
  --fd-cream:#F2F3F1;
  --fd-orange:#E87200;
  --fd-orange-dark:#C25F00;
  --fd-orange-tint:#FBF3E9;
  --fd-orange-flip:#F3E1C6;
  --fd-radius:14px;
  --fd-radius-lg:18px;
  --fd-font:"Montserrat",sans-serif;
}

/* 2. RESET Y TIPOGRAFÍA ------------------------------------ */
*{box-sizing:border-box;}
body{
  margin:0;background:#fff;color:var(--fd-ink);
  font-family:var(--fd-font);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;transition:opacity .2s ease;}
a:hover{color:inherit;opacity:.72;}
h1,h2,h3,h4,p{margin:0;}
img{max-width:100%;display:block;}
button{font-family:inherit;border:none;background:none;cursor:pointer;}
input,textarea{font-family:inherit;}
.fd-container{padding-left:56px;padding-right:56px;}
.fd-h1{font-weight:200;letter-spacing:-.02em;text-transform:uppercase;}
.fd-h2{font-size:32px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-green);}
.fd-eyebrow{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;}
.fd-btn{display:inline-flex;align-items:center;gap:9px;height:52px;padding:0 30px;border-radius:26px;
  font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:background .2s ease;}
.fd-btn-dark{background:var(--fd-green-dark);color:#fff;}
.fd-btn-dark:hover{background:var(--fd-green-mid);opacity:1; color: white;}
.fd-btn-solar{background:var(--fd-green-dark);color:#fff;}
.fd-btn-solar:hover{background:var(--fd-orange);opacity:1; color: white;}
.fd-btn-outline{border:1px solid rgba(18,49,42,.35);color:var(--fd-green-dark);}
.fd-btn-outline:hover{background:rgba(18,49,42,.08);opacity:1;}
@keyframes fdBubbleUp{0%{transform:translateY(0) scale(.9);opacity:0;}12%{opacity:.85;}85%{opacity:.5;}100%{transform:translateY(-160px) scale(1.15);opacity:0;}}
@keyframes fdMoleculeDrift{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(-10px,-14px) rotate(8deg);}}
@keyframes fdHeroDrift{0%{transform:scale(1.001) translate(.8%,0);}50%{transform:scale(1.008) translate(-.8%,0);}100%{transform:scale(1.001) translate(.8%,0);}}
.fd-bubble{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.5);
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0%,rgba(255,255,255,.32) 45%,rgba(154,225,210,.16) 75%,rgba(154,225,210,.04) 100%);
  animation:fdBubbleUp 8s ease-in infinite;}
.fd-molecule{position:absolute;animation:fdMoleculeDrift 12s ease-in-out infinite;}
/* Reveal on scroll. El estado oculto vive detrás de `html.fd-js`, que agrega
   common.js: si el JS no corre o la cascada de DNN interfiere, el contenido
   queda VISIBLE por defecto en vez de invisible. El !important en .is-visible
   asegura que ganar el estado revelado no dependa de la especificidad del portal. */
html.fd-js [data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1);}
html.fd-js [data-revealitem]{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1);}
[data-reveal].is-visible,[data-revealitem].is-visible{opacity:1 !important;transform:none !important;}

/* Neutraliza los resets de elemento de default.css de DNN (h1-h6, p, ul/ol,
   a, hr, img con font/margin/list-style propios) dentro de cualquier bloque
   nuestro. Especificidad (0,1,0), igual a nuestras reglas de componente —
   como este bloque va PRIMERO en el archivo, las reglas de componente que
   siguen abajo ganan por orden de aparición. */
:where([class*="fd-"]) :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,a,hr,img,blockquote){margin:0;padding:0;border:0;font:inherit;color:inherit;
  text-decoration:none;list-style:none;vertical-align:baseline;text-align:inherit;background:none;
  border-radius:0;box-shadow:none;}
:where([class*="fd-"]) :where(a):hover,:where([class*="fd-"]) :where(a):focus,:where([class*="fd-"]) :where(a):active{color:inherit;text-decoration:none;}
:where([class*="fd-"]) :where(button,input,select,textarea){font:inherit;color:inherit;}

/* default.css de DNN aplica a nivel de ETIQUETA (h1, a, a:visited, img, ul/ol)
   con reglas que compiten en especificidad con el bloque anterior según el
   orden de carga real del portal (fuera de nuestro control). :where() reduce
   la especificidad de este reset a (0,0,0): cualquier regla de componente
   real (.fd-mod-mission-title, .fd-hub-hero-copy h1, etc.) gana siempre,
   sin depender del orden de carga. */
:where([class*="fd-"]) :where(h1,h2,h3,h4,h5,h6){font-size:inherit;line-height:inherit;letter-spacing:inherit;margin:0;font-weight:inherit;color:inherit;}
:where([class*="fd-"]) :where(p){margin:0;}
:where([class*="fd-"]) :where(a,a:visited){color:inherit;text-decoration:none;}
:where([class*="fd-"]) :where(img){vertical-align:top;border:0;}
:where([class*="fd-"]) :where(ul,ol){list-style:none;margin:0;padding:0;}
:where([class*="fd-"]) :where(hr){margin:0;border:0;}

/* Títulos de credenciales: flex items con min-width:auto no bajan de su
   min-content, y "oftalmológicamente" se desbordaba del padding de la celda. */
.fd-cred-title,.fd-mod-cred-title,.fd-modp-cred-title,.fd-modh-cred-title{
  min-width:0;overflow-wrap:anywhere;}

/* 3. HEADER ------------------------------------------------ */
.fd-topbar{height:40px;padding:0 56px;background:var(--fd-green);display:flex;align-items:center;
  justify-content:flex-end;gap:20px;color:#fff;font-size:12px;font-weight:300;letter-spacing:.12em;text-transform:uppercase;}
.fd-topbar-actions{display:flex;align-items:center;gap:8px;}
.fd-topbar-item{position:relative;height:28px;padding:0 12px;display:flex;align-items:center;gap:8px;
  border-radius:14px;cursor:pointer;color:#fff;transition:background .2s ease;}
.fd-topbar-item:hover{background:rgba(255,255,255,.18);}
.fd-topbar-sep{width:1px;height:16px;background:rgba(255,255,255,.25);}
.fd-panel{position:absolute;top:40px;right:56px;background:#fff;border:1px solid var(--fd-line);
  border-radius:0 0 14px 14px;box-shadow:0 30px 60px rgba(18,49,42,.18);z-index:40;display:none;color:var(--fd-ink);}
.fd-panel.is-open{display:block;animation:fdPanelIn .42s cubic-bezier(.22,.9,.28,1) both;}
@keyframes fdPanelIn{from{opacity:0;transform:translateY(-12px) scale(.985);}to{opacity:1;transform:none;}}
.fd-panel.is-open [data-loginfield],.fd-panel.is-open .fd-login-row,
.fd-panel.is-open .fd-login-submit,.fd-panel.is-open .fd-panel-links{
  animation:fdPanelItemIn .45s cubic-bezier(.22,.9,.28,1) both;}
.fd-panel.is-open [data-loginfield]:nth-of-type(1){animation-delay:.06s;}
.fd-panel.is-open [data-loginfield]:nth-of-type(2){animation-delay:.11s;}
.fd-panel.is-open .fd-login-row{animation-delay:.16s;}
.fd-panel.is-open .fd-login-submit{animation-delay:.21s;}
.fd-panel.is-open .fd-panel-links{animation-delay:.26s;}
@keyframes fdPanelItemIn{from{opacity:0;transform:translateY(9px);}to{opacity:1;transform:none;}}
.fd-panel-search{width:480px;padding:22px 24px;}
.fd-panel-login{width:380px;padding:26px 26px 22px;}
.fd-search-box{display:flex;align-items:center;gap:12px;height:52px;padding:0 20px;border-radius:26px;
  background:var(--fd-tint);border:1px solid #E1EAE6;}
.fd-search-box input{flex:1;border:none;outline:none;background:transparent;font-size:14px;font-weight:300;color:var(--fd-ink);}
.fd-field{height:46px;padding:0 16px;border-radius:10px;border:1px solid #DCE8E4;background:#F8FBFA;outline:none;
  font-size:14px;color:var(--fd-ink);width:100%;margin-bottom:12px;}
.fd-panel-login .fd-title{font-size:18px;font-weight:300;margin-bottom:16px;}
.fd-panel-cta{height:48px;display:flex;align-items:center;justify-content:center;border-radius:24px;
  background:var(--fd-green-dark);color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:pointer;}
.fd-panel-links{margin-top:16px;padding-top:14px;border-top:1px solid var(--fd-line);display:flex;
  align-items:center;justify-content:space-between;font-size:12px;}
.fd-panel-links span{cursor:pointer;}
.fd-nav{min-height:92px;padding:0 56px;background:#fff;border-bottom:1px solid var(--fd-line);
  position:relative;z-index:20;}
.fd-logo{height:44px;width:auto;display:block;}
.fd-nav-links{gap:34px;align-items:center;font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;
  font-weight:500;}
.fd-nav .nav-link{padding:6px 0;border-bottom:2px solid transparent;cursor:pointer;color:#23423A;
  font-size:inherit;letter-spacing:inherit;text-transform:inherit;font-weight:inherit;}
.fd-nav .nav-link:hover,.fd-nav .nav-link:focus{color:#23423A;}
.fd-nav-toggler{font-size:22px;color:var(--fd-green-dark);padding:0;}
.fd-nav .nav-link.is-current{border-bottom-color:var(--fd-green-mid);}
.fd-nav .nav-link:hover{border-bottom-color:var(--fd-green-mid);}
.fd-sobrenosotros{position:relative;}
.fd-sobrenosotros-panel{position:absolute;top:100%;left:0;padding-top:26px;width:200px;display:none;}
.fd-sobrenosotros.is-open .fd-sobrenosotros-panel{display:block;}
.fd-sobrenosotros-menu{width:200px;padding:12px 0;background:#fff;border:1px solid var(--fd-line);
  border-radius:0 0 14px 14px;box-shadow:0 30px 60px rgba(18,49,42,.18);display:flex;flex-direction:column;
  text-transform:none;letter-spacing:0;font-weight:400;}
.fd-sobrenosotros-menu span{padding:10px 22px;font-size:13px;color:#23423A;}
.fd-sobrenosotros-menu span:hover{background:var(--fd-tint);}
.fd-breadcrumb{padding:22px 56px 0;font-size:12.5px;font-weight:300;color:var(--fd-muted);display:flex;gap:10px;align-items:center;}
.fd-breadcrumb .is-current{color:var(--fd-accent,var(--fd-green-mid));font-weight:500;}

/* 4. FOOTER -------------------------------------------------- */
.fd-newsletter-flag{padding:16px 56px;background:var(--fd-green);text-align:center;font-size:13px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;}
.fd-newsletter{padding:64px 56px 76px;background:#EDF4F1;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:18px;}
.fd-newsletter .fd-h2{color:var(--fd-green);}
.fd-newsletter p{max-width:520px;font-size:15px;font-weight:300;color:#5B6B66;line-height:1.5;}
.fd-newsletter-form{margin-top:14px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;}
.fd-newsletter-form input{width:320px;height:56px;border-radius:28px;background:#fff;border:1px solid #CFE0D9;
  padding:0 24px;color:var(--fd-green-dark);font-size:14px;font-weight:300;}
.fd-newsletter-form button{height:56px;padding:0 34px;border-radius:28px;background:var(--fd-green-dark);
  color:#fff;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;cursor:pointer;}
.fd-newsletter-form button:hover{background:var(--fd-green-mid);}
.fd-footer{padding:64px 56px 44px;background:var(--fd-green-deep);color:#A8BDB5;}
.fd-footer h4{display:inline-block;font-size:15px;font-weight:500;color:#fff;padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.22);margin-bottom:18px;}
.fd-footer-addr{font-size:13.5px;font-weight:300;line-height:2;}
.fd-footer-links{display:flex;flex-direction:column;gap:12px;font-size:13.5px;font-weight:300;}
.fd-social{display:flex;gap:10px;}

/* Bootstrap grid: dividers para reemplazar el truco de background+gap de CSS grid */
.fd-cred-row{border-radius:14px;overflow:hidden;}
.fd-cred-row>*{border:1px solid rgba(18,49,42,.14);margin-left:-1px;margin-top:-1px;}
.dropdown-menu.fd-dropdown-menu{padding:12px 0;border:1px solid var(--fd-line);border-radius:0 0 14px 14px;box-shadow:0 30px 60px rgba(18,49,42,.18);}
.dropdown-menu.fd-dropdown-menu .dropdown-item{padding:10px 22px;font-size:13px;color:#23423A;}
.dropdown-menu.fd-dropdown-menu .dropdown-item:hover,.dropdown-menu.fd-dropdown-menu .dropdown-item:focus{background:var(--fd-tint);color:#23423A;}
.fd-nav .dropdown-toggle{cursor:pointer;}
.fd-nav .dropdown-toggle::after{display:none;}
.fd-nav .nav-item.dropdown .dropdown-menu{display:block;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;margin-top:0;pointer-events:none;}
.fd-nav .nav-item.dropdown:hover .dropdown-menu,.fd-nav .nav-item.dropdown .dropdown-menu:hover{
  opacity:1;visibility:visible;transform:none;pointer-events:auto;}
.fd-social a{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.08);display:flex;
  align-items:center;justify-content:center;color:#fff;}
.fd-footer-badge{margin-top:30px;height:56px;width:auto;filter:brightness(0) invert(1);}

/* 5. HOME ----------------------------------------------------- */
.fd-hero{position:relative;height:544px;overflow:hidden;background-size:cover;background-position:right center;}
.fd-hero-copy{position:absolute;inset:0;padding:56px 40px 0 56px;display:flex;flex-direction:column;gap:22px;max-width:400px;}
.fd-hero-fade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(255,255,255,.85) 0%,rgba(255,255,255,.55) 55%,rgba(255,255,255,0) 82%);}
.fd-hero-pill{position:relative;display:inline-flex;align-items:center;gap:10px;align-self:flex-start;padding:8px 16px;
  border-radius:18px;background:rgba(28,106,85,.08);color:var(--fd-green-mid);font-size:11.5px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500;}
.fd-hero-title{position:relative;font-size:clamp(30px,3.4vw,48px);line-height:1.18;font-weight:200;letter-spacing:-.005em;
  text-transform:uppercase;color:#8C9490;}
.fd-hero-title b{font-weight:400;}

.fd-mission{position:relative;padding:120px 56px;background:var(--fd-cream);color:var(--fd-green-dark);}

.fd-mission-title{font-size:48px;line-height:1.12;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-green);}
.fd-mission-copy{font-size:15.5px;line-height:1.6;font-weight:300;color:var(--fd-body);max-width:520px;margin-top:28px;}
.fd-accordion-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;align-content:start;}
.fd-acc-row{border-top:1px solid rgba(18,49,42,.16);}
.fd-acc-row:last-child{border-bottom:1px solid rgba(18,49,42,.16);}
.fd-acc-head{display:flex;align-items:center;gap:16px;padding:17px 0;cursor:pointer;user-select:none;}
.fd-acc-num{flex:0 0 auto;font-size:11px;letter-spacing:.2em;font-weight:600;color:#7FA89C;transition:color .3s ease;}
.fd-acc-title{flex:1;font-size:13px;font-weight:700;color:#17453B;letter-spacing:.05em;text-transform:uppercase;
  line-height:1.3;transition:color .3s ease;}
.fd-acc-chev{flex:0 0 auto;width:26px;height:26px;border-radius:13px;border:1px solid rgba(59,150,121,.45);
  color:var(--fd-green);display:inline-flex;align-items:center;justify-content:center;font-size:11px;
  transition:transform .45s cubic-bezier(.2,.7,.3,1),background .3s ease;}
.fd-acc-row.is-open .fd-acc-chev{transform:rotate(180deg);background:rgba(59,150,121,.12);}
.fd-acc-row.is-open .fd-acc-num{color:var(--fd-green);}
.fd-acc-row.is-open .fd-acc-title{color:var(--fd-green-dark);}
.fd-acc-panel{overflow:hidden;transition:max-height .55s cubic-bezier(.25,.8,.3,1);max-height:0;}
.fd-acc-img{position:relative;width:100%;border-radius:10px;overflow:hidden;background:#F2F7F5;margin-top:13px;}
.fd-acc-img img{width:100%;height:100%;object-fit:cover;}
.fd-acc-curtain{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,rgba(15,38,32,.94) 0%,rgba(15,38,32,.78) 65%,rgba(15,38,32,0) 100%);transition:height .6s cubic-bezier(.22,.8,.28,1);}
.fd-acc-row.is-open .fd-acc-curtain{height:68%;}
.fd-acc-body{position:absolute;left:0;right:0;bottom:0;padding:14px 18px;font-size:11.5px;font-weight:300;color:#fff;
  line-height:1.42;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.8,.28,1);}
.fd-acc-row.is-open .fd-acc-body{opacity:1;transform:none;}

.fd-credentials{position:relative;padding:90px 56px;background:#fff;color:var(--fd-green-dark);}

.fd-cred-card{position:relative;background:#fff;padding:24px;display:flex;align-items:center;gap:14px;
  overflow:hidden;min-height:84px;}
.fd-cred-icon{width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;}
.fd-cred-icon img{width:100%;height:100%;}
.fd-cred-title{font-size:14px;font-weight:500;color:var(--fd-green-dark);line-height:1.3;transition:opacity .3s ease;}
.fd-cred-detail{position:absolute;inset:0;padding:22px 24px;display:flex;align-items:center;background:#D2E9E3;
  opacity:0;transform:translateY(100%);transition:transform .42s cubic-bezier(.22,.84,.26,1),opacity .3s ease;
  font-size:12.5px;font-weight:300;color:var(--fd-body);line-height:1.6;}
.fd-cred-card.is-active .fd-cred-title{opacity:0;}
.fd-cred-card.is-active .fd-cred-detail{opacity:1;transform:none;}

.fd-lines{position:relative;padding:0 56px 104px;background:#fff;}
.fd-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px;}
.fd-section-head a{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--fd-green-mid);}
.fd-lines-sub{font-size:14.5px;font-weight:300;color:var(--fd-muted);margin-bottom:30px;}
.fd-linegrid{display:flex;gap:14px;height:480px;}
.fd-linecard{flex:1 1 0;min-width:0;position:relative;overflow:hidden;border-radius:18px;padding:30px 26px;
  display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;
  transition:flex-grow .55s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1),opacity .4s ease;}
.fd-linecard.is-other{opacity:.45;}
.fd-linecard img.fd-linecard-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fd-linecard-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.5) 100%);opacity:0;transition:opacity .3s ease;}
.fd-linecard.is-active .fd-linecard-scrim{opacity:1;}
.fd-line-name{font-size:20px;font-weight:300;position:relative;white-space:nowrap;}
.fd-line-sub{font-size:12.5px;font-weight:300;margin-top:6px;position:relative;}
.fd-line-hint{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.35);display:flex;align-items:center;
  gap:8px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;transition:opacity .3s ease;position:relative;}
.fd-linecard.is-active .fd-line-hint{opacity:0;}
.fd-line-hint span{width:18px;height:18px;border-radius:9px;border:1px solid currentColor;display:inline-flex;
  align-items:center;justify-content:center;font-size:11px;}
.fd-line-detail{max-height:0;overflow:hidden;opacity:0;position:relative;transition:max-height .4s ease,opacity .4s ease;}
.fd-linecard.is-active .fd-line-detail{max-height:220px;opacity:1;}
.fd-line-detail p{font-size:13.5px;font-weight:300;line-height:1.65;margin-top:16px;max-width:420px;}
.fd-line-detail a{margin-top:18px;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 22px;
  border-radius:22px;background:#fff;color:var(--fd-green-dark);font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;}

.fd-products{padding:0 56px 104px;background:#fff;}
.fd-prod-track{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
  padding-bottom:4px;scrollbar-width:none;}
.fd-prod-track::-webkit-scrollbar{display:none;}
.fd-prod-card{flex:0 0 calc(25% - 16.5px);scroll-snap-align:start;cursor:pointer;}
.fd-prod-frame{position:relative;height:320px;border-radius:18px;background:#fff;border:1px solid rgba(22,120,106,.18);
  box-shadow:0 8px 20px rgba(18,49,42,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;
  cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease;}
.fd-prod-frame:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,49,42,.18);}
.fd-prod-frame img{width:78%;height:78%;object-fit:contain;transition:transform .35s ease;}
.fd-wishlist{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid rgba(18,49,42,.12);color:var(--fd-green-dark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:14px;}
.fd-wishlist.is-active{color:#C0392B;}
.fd-prod-line{margin-top:18px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fd-green-mid);}
.fd-prod-name{margin-top:8px;font-size:17px;font-weight:300;color:var(--fd-green-dark);}
.fd-prod-cta{margin-top:12px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--fd-green-dark);border-bottom:1px solid var(--fd-green-dark);padding-bottom:3px;display:inline-flex;
  align-items:center;gap:6px;}
.fd-prod-nav{position:absolute;top:140px;z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;
  border:1px solid rgba(22,120,106,.25);box-shadow:0 12px 28px rgba(18,49,42,.16);color:var(--fd-green-dark);
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;}

/* 6. HUB (línea) ---------------------------------------------- */
.fd-hub-hero{position:relative;height:clamp(300px,30vw,880px);overflow:hidden;}
.fd-hub-hero-bg{position:absolute;inset:-.5%;background-size:cover;background-position:center;
  animation:fdHeroDrift 26s ease-in-out infinite;}
.fd-hub-hero-copy{position:relative;display:inline-flex;flex-direction:column;gap:12px;padding:28px 34px;
  border-radius:16px;background:rgba(15,38,32,.32);backdrop-filter:blur(6px);max-width:460px;color:#fff;}
.fd-hub-hero-copy h1{font-size:38px;line-height:1.08;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;}
.fd-hub-hero-copy p{font-size:15px;line-height:1.6;font-weight:300;color:rgba(255,255,255,.9);max-width:400px;}
.fd-hub-section{padding:60px 56px 100px;}
.fd-hub-section .fd-h2{margin-bottom:36px;}

.fd-hub-active{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;
  background:linear-gradient(180deg,#fff 0%,#F2F7F5 100%);border-radius:22px;padding:50px;}
.fd-hub-active-media{position:relative;height:340px;border-radius:16px;overflow:hidden;background:#EAF3EF;
  border:1px solid #DCEAE4;}
.fd-hub-active-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.15);}

.fd-note-thumb{height:220px;border-radius:16px;background:#F2F7F5;border:1px solid #C9D9D4;display:flex;
  align-items:center;justify-content:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93A6A0;}

.fd-other-line{display:block;position:relative;height:180px;border-radius:16px;overflow:hidden;
  background:var(--fd-green-dark);}
.fd-other-line img,.fd-other-line canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  display:block;transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.fd-other-line:hover img,.fd-other-line:hover canvas{transform:scale(1.06);}
.fd-other-line-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,38,32,0) 45%,rgba(15,38,32,.72) 100%);}
.fd-other-line-name{position:absolute;left:16px;bottom:14px;font-size:14px;font-weight:500;letter-spacing:.04em;
  text-transform:uppercase;color:#fff;}

/* 7. PRODUCT (ficha) -------------------------------------------- */
.fd-product-hero{padding:24px 56px 0;}

.fd-gallery{display:flex;flex-direction:column;gap:14px;min-width:0;}
.fd-gallery-main{position:relative;border-radius:18px;overflow:hidden;height:560px;cursor:zoom-in;background:#fff;}
.fd-gallery-main>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .35s ease,opacity .28s ease;}
.fd-media-track{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;}
.fd-media-track::-webkit-scrollbar{display:none;}
.fd-media-thumb{flex:0 0 96px;scroll-snap-align:start;height:96px;border-radius:12px;overflow:hidden;
  border:2px solid transparent;cursor:pointer;background:#F7FAF9;}
.fd-media-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.fd-media-thumb.is-active{border-color:var(--fd-green-mid);}
.fd-media-nav{position:absolute;top:32px;z-index:3;width:34px;height:34px;border-radius:50%;background:#fff;
  border:1px solid rgba(22,120,106,.25);box-shadow:0 10px 22px rgba(18,49,42,.14);color:var(--fd-green-dark);
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;}
.fd-product-info{display:flex;flex-direction:column;gap:22px;padding-top:12px;}
.fd-badges{display:flex;align-items:center;gap:10px;}
.fd-badge-tint{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:18px;
  background:var(--fd-orange-tint);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  color:var(--fd-orange);}
.fd-badge-dark{display:inline-flex;align-items:center;padding:8px 15px;border-radius:18px;background:var(--fd-green-dark);
  font-size:13px;letter-spacing:.04em;font-weight:600;color:#fff;}
.fd-product-title{font-size:40px;line-height:1.05;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;color:var(--fd-orange);}
.fd-product-tagline{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fd-muted);font-weight:500;}
.fd-product-desc{font-size:15.5px;line-height:1.7;font-weight:300;color:var(--fd-body);max-width:500px;}
.fd-resumen{display:flex;flex-direction:column;border-top:1px solid #E3EEEA;}
.fd-resumen-item{border-bottom:1px solid #E3EEEA;}
.fd-resumen-head{display:flex;align-items:center;gap:14px;padding:16px 0;cursor:pointer;user-select:none;}
.fd-resumen-head span:first-child{flex:1;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fd-green-dark);}
.fd-resumen-chev{flex:0 0 auto;width:24px;height:24px;border-radius:12px;border:1px solid var(--fd-orange-border,rgba(192,122,40,.45));
  color:var(--fd-orange);display:inline-flex;align-items:center;justify-content:center;font-size:10px;
  transition:transform .4s cubic-bezier(.2,.7,.3,1);}
.fd-resumen-item.is-open .fd-resumen-chev{transform:rotate(180deg);}
.fd-resumen-panel{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(.25,.8,.3,1);}
.fd-resumen-panel p{padding:0 0 18px;font-size:14px;font-weight:300;color:var(--fd-body);line-height:1.65;}
.fd-resumen-panel ul{padding-bottom:18px;font-size:14px;font-weight:300;color:var(--fd-body);line-height:1.75;}
.fd-resumen-panel ul li{margin-bottom:2px;}

.fd-texture{position:relative;margin-top:70px;padding:90px 56px;background:var(--fd-cream);color:var(--fd-green-dark);overflow:hidden;}
.fd-texture-grid{position:relative;}
.fd-babe{position:relative;height:460px;border-radius:18px;overflow:hidden;cursor:ew-resize;user-select:none;background:#1a1a1a;}
.fd-babe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fd-babe-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0);}
.fd-babe-line{position:absolute;top:0;bottom:0;right:0;width:2px;background:#fff;}
.fd-babe-handle{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  background:#fff;box-shadow:0 10px 24px rgba(18,49,42,.24);display:flex;align-items:center;justify-content:center;
  color:var(--fd-green-dark);font-size:13px;}
.fd-babe-tag{position:absolute;top:16px;padding:6px 14px;border-radius:14px;background:rgba(255,255,255,.9);
  color:var(--fd-green-dark);font-size:11px;font-weight:500;}
.fd-stats{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid rgba(18,49,42,.12);}
.fd-stat{background:#fff;padding:30px 32px;display:flex;align-items:center;gap:22px;
  border-bottom:1px solid rgba(18,49,42,.12);}
.fd-stat:last-child{border-bottom:0;}
.fd-stat-icon{width:56px;height:56px;border-radius:28px;background:var(--fd-orange);display:flex;align-items:center;
  justify-content:center;flex:0 0 auto;color:#fff;font-size:22px;}
.fd-stat-num{font-size:42px;font-weight:700;color:var(--fd-orange);}
.fd-stat-label{margin-top:6px;font-size:12.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--fd-green-dark);line-height:1.4;}
.fd-texture-note{position:relative;margin-top:30px;font-size:11.5px;font-weight:300;color:var(--fd-muted);}

.fd-uso{padding:100px 56px;background:#fff;}
.fd-uso-head{display:flex;align-items:center;gap:14px;margin-bottom:40px;}
.fd-uso-rule{flex:1;height:1px;background:#E3EEEA;}
.fd-uso-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:16px;
  background:rgba(255,193,79,.14);color:#B8860B;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}

.fd-uso-copy{display:flex;flex-direction:column;gap:18px;font-size:15.5px;line-height:1.75;font-weight:300;color:var(--fd-body);}
.fd-uso-video{border-radius:16px;overflow:hidden;background:#F7FAF9;aspect-ratio:16/9;}
.fd-uso-video video{width:100%;height:100%;object-fit:cover;display:block;}

.fd-formula{padding:100px 56px;background:linear-gradient(180deg,#fff 0%,#F2F7F5 100%);}
.fd-ing-grid{margin-bottom:50px;}
.fd-ing{display:flex;flex-direction:column;gap:14px;}
.fd-ing-media{position:relative;height:190px;border-radius:14px;overflow:hidden;background:#F7FAF9;border:1px solid #E4ECE9;}
.fd-ing-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.28);}
.fd-ing-curtain{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,rgba(15,38,32,.94) 0%,rgba(15,38,32,.78) 65%,rgba(15,38,32,0) 100%);transition:height .6s cubic-bezier(.22,.8,.28,1);}
.fd-ing.is-open .fd-ing-curtain{height:62%;}
.fd-ing-body{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:12px;font-weight:300;color:#fff;
  line-height:1.5;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.8,.28,1);}
.fd-ing.is-open .fd-ing-body{opacity:1;transform:none;}
.fd-ing-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.fd-ing-head span:first-child{font-size:15px;font-weight:400;color:var(--fd-green-dark);}
.fd-ing-chev{flex:0 0 auto;width:24px;height:24px;border-radius:12px;border:1px solid rgba(192,122,40,.45);
  color:var(--fd-orange);display:inline-flex;align-items:center;justify-content:center;font-size:10px;
  transition:transform .4s cubic-bezier(.2,.7,.3,1);}
.fd-ing.is-open .fd-ing-chev{transform:rotate(180deg);}
.fd-inci{border-radius:16px;background:#fff;border:1px solid #DCEAE6;overflow:hidden;}
.fd-inci-head{padding:22px 28px;display:flex;align-items:center;gap:16px;cursor:pointer;user-select:none;}
.fd-inci-head span:first-child{flex:1;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fd-muted);}
.fd-inci-chev{flex:0 0 auto;width:28px;height:28px;border-radius:14px;border:1px solid rgba(192,122,40,.45);
  color:var(--fd-orange);display:inline-flex;align-items:center;justify-content:center;font-size:11px;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.fd-inci.is-open .fd-inci-chev{transform:rotate(180deg);}
.fd-inci-panel{overflow:hidden;max-height:0;transition:max-height .55s cubic-bezier(.25,.8,.3,1);}
.fd-inci-panel p{padding:0 28px 24px;font-size:13px;font-weight:300;color:#4C625B;line-height:1.95;}

.fd-related{padding:100px 56px 110px;background:#fff;}


.fd-faq{padding:20px 56px 110px;background:#fff;}
.fd-faq-item{border-top:1px solid rgba(18,49,42,.14);}
.fd-faq-item:last-child{border-bottom:1px solid rgba(18,49,42,.14);}
.fd-faq-head{display:flex;align-items:center;gap:20px;padding:22px 0;cursor:pointer;user-select:none;}
.fd-faq-head span:first-child{flex:1;font-size:16px;font-weight:400;color:var(--fd-green-dark);line-height:1.4;}
.fd-faq-chev{flex:0 0 auto;width:30px;height:30px;border-radius:15px;border:1px solid rgba(192,122,40,.45);
  color:var(--fd-orange);display:inline-flex;align-items:center;justify-content:center;font-size:11px;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.fd-faq-item.is-open .fd-faq-chev{transform:rotate(180deg);}
.fd-faq-panel{overflow:hidden;max-height:0;transition:max-height .55s cubic-bezier(.25,.8,.3,1);}
.fd-faq-panel p{padding:0 60px 26px 0;font-size:14.5px;font-weight:300;color:#4C625B;line-height:1.8;}

.fd-ctabar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 56px;background:rgba(255,255,255,.97);
  border-top:1px solid var(--fd-line);box-shadow:0 -12px 30px rgba(18,49,42,.1);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;gap:20px;opacity:0;transform:translateY(100%);
  transition:opacity .3s ease,transform .3s ease;pointer-events:none;}
.fd-ctabar.is-visible{opacity:1;transform:none;pointer-events:auto;}
.fd-ctabar-info{display:flex;align-items:center;gap:14px;min-width:0;}
.fd-ctabar-info img{height:44px;width:44px;object-fit:contain;flex:0 0 auto;}
.fd-ctabar-info .name{font-size:14px;font-weight:400;color:var(--fd-green-dark);white-space:nowrap;}
.fd-ctabar-info .line{font-size:11.5px;font-weight:300;color:var(--fd-muted);}

/* Accent override for product (orange) pages */
.fd-accent-orange .fd-h2{color:var(--fd-orange);}

/* responsive ------------------------------------------------- */
@media (max-width:991px){
  .fd-container,.fd-topbar,.fd-nav,.fd-breadcrumb,.fd-mission,.fd-credentials,.fd-lines,.fd-products,
  .fd-hub-section,.fd-product-hero,.fd-texture,.fd-uso,.fd-formula,.fd-related,.fd-faq,.fd-ctabar,.fd-footer,
  .fd-newsletter-flag,.fd-newsletter{padding-left:24px;padding-right:24px;}
  .fd-hub-active{grid-template-columns:1fr;gap:36px;}
  .fd-accordion-grid{grid-template-columns:1fr;}
  .fd-cred-grid{grid-template-columns:repeat(2,1fr);}
  .fd-linegrid{flex-direction:column;height:auto;}
  .fd-linecard{height:150px !important;}
  .fd-prod-card{flex:0 0 80%;}
  .fd-other-lines-grid{grid-template-columns:repeat(2,1fr);}
  .fd-hero{height:auto;min-height:480px;}
  .fd-hero-copy{max-width:80%;}
  .fd-gallery-main{height:380px;}
}
@media (max-width:575px){
  .fd-cred-grid,.fd-hub-products-grid,.fd-ing-grid,.fd-related-grid,.fd-other-lines-grid{grid-template-columns:1fr;}
  .fd-prod-card{flex:0 0 88%;}
  .fd-newsletter-form input{width:100%;}
  .fd-babe,.fd-gallery-main{height:320px;}
}
.fd-nav-mobile-toggle{display:none;align-items:center;gap:16px;}
header{position:sticky;top:0;z-index:50;}
/* El panel del megamenú de escritorio es más ancho que el viewport mobile:
   si queda en el DOM visible, expande el scrollWidth y genera scroll horizontal. */
@media (max-width:991.98px){
  [data-menuhost="a"]{display:none !important;}
}
@media (min-width:992px){
  [data-menumobile]{display:none !important;}
}
html{overflow-x:hidden;}
@media (max-width:991.98px){
  .fd-nav{min-height:62px;padding:0 20px;}
  .fd-nav .fd-btn-dark{height:40px;padding:0 16px;font-size:11px;white-space:nowrap;}
  .fd-nav .fd-btn-dark span{display:none;}
}
.fd-mobile-drawer-mount{position:relative;}


/* ============================================================
   HOME — módulos por sección (index.html), un bloque por sección
   ============================================================ */
/* -- Hero -- */

/* La foto es 3000×1000 (3:1). Con alto fijo de 544px la caja quedaba en
   2.6:1 y 'cover' recortaba ~13% de ancho, que es lo que se leía como
   deformidad. Atando el alto al ancho con aspect-ratio, la imagen entra
   casi completa y no se recorta el sujeto. */
/* .fd-mod-hero{aspect-ratio:3/1;height:auto;min-height:420px;max-height:620px; */
  /* background-size:cover;background-position:center right;} */
  .fd-mod-hero{height:auto;min-height:420px;max-height:620px;
  background-size:cover;background-position:center right;}
.fd-mod-hero-copy{padding:56px 40px 0 56px}
.fd-mod-hero-pill{padding:8px 16px;background:rgba(28,106,85,.08);color:var(--fd-green-mid);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;}
.fd-mod-hero-title{font-size:clamp(30px,3.4vw,48px);line-height:1.18;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:#565F5A;}
.fd-mod-hero-title b{font-weight:400;}
@media (max-width:991.98px){.fd-mod-hero{aspect-ratio:auto;height:auto;min-height:480px;
  background-position:72% center;}.fd-mod-hero-copy{max-width:80%;}}


/* -- Misión / accordion -- */
.fd-mod-mission{padding: 0px 56px 72px;background:#F2F3F1;color:var(--fd-green-dark);}
.fd-mod-mission-title{font-size:48px;line-height:1.12;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-green);}
.fd-mod-mission-copy{font-size:15.5px;line-height:1.6;font-weight:300;color:var(--fd-body);max-width:520px;}
.fd-mod-btn-outline{border:1px solid rgba(18,49,42,.35);color:var(--fd-green-dark);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.fd-mod-btn-outline:hover{background:rgba(18,49,42,.08);color:var(--fd-green-dark);}
.fd-mod-acc-item{}
.fd-mod-acc-img{border-radius:10px;overflow:hidden;background:#F2F7F5;height:178px;cursor:pointer;display:block;}
.fd-mod-acc-img img{width:100%;height:100%;object-fit:cover;}
.fd-mod-acc-curtain{height:0;background:linear-gradient(0deg,rgba(15,38,32,.95) 0%,rgba(15,38,32,.9) 55%,rgba(15,38,32,.6) 85%,rgba(15,38,32,0) 100%);transition:height .6s cubic-bezier(.22,.8,.28,1);}
.fd-mod-acc-item.is-open .fd-mod-acc-curtain{height:88%;}
.fd-mod-acc-tag{left:0;right:0;bottom:0;padding:14px 18px;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.8,.28,1);}
.fd-mod-acc-item.is-open .fd-mod-acc-tag{opacity:1;transform:none;}
.fd-mod-acc-copy2{font-size:11.5px;font-weight:300;color:#fff;line-height:1.34;}
.fd-mod-acc-head{display:flex;align-items:center;gap:16px;min-height:64px;padding:17px 0;cursor:pointer;user-select:none;border-top:1px solid rgba(18,49,42,.16);}
.fd-mod-acc-headnum{flex:0 0 auto;font-size:11px;letter-spacing:.2em;font-weight:600;color:#7FA89C;transition:color .3s ease;}
.fd-mod-acc-item.is-open .fd-mod-acc-headnum{color:var(--fd-green);}
.fd-mod-acc-headtitle{flex:1;font-size:13px;font-weight:700;color:#17453B;letter-spacing:.05em;text-transform:uppercase;line-height:1.3;text-align:left;}
.fd-mod-acc-chev{flex:0 0 auto;width:26px;height:26px;border-radius:13px;border:1px solid rgba(59,150,121,.45);color:var(--fd-green);
  display:inline-flex;align-items:center;justify-content:center;font-size:11px;transition:transform .45s cubic-bezier(.2,.7,.3,1);}
.fd-mod-acc-item.is-open .fd-mod-acc-chev{transform:rotate(180deg);}


/* -- Título de sección genérico (credenciales, líneas, productos, newsletter) -- */
.fd-mod-h2{font-size:32px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-green);}


/* -- Credenciales -- */
.fd-mod-credentials{padding:0 56px 72px;background:#FFFFFF;color:var(--fd-green-dark);}
.fd-mod-cred-row{border-radius:14px;overflow:hidden;}
.fd-mod-cred-row>*{border:1px solid rgba(18,49,42,.14);margin-left:-1px;margin-top:-1px;}
.fd-mod-cred-card{position:relative;background:#fff;padding:24px;display:flex;align-items:center;gap:14px;overflow:hidden;min-height:84px;}
.fd-mod-cred-icon{width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.fd-mod-cred-icon img{width:100%;height:100%;}
.fd-mod-cred-title{font-size:14px;font-weight:500;color:var(--fd-green-dark);line-height:1.3;transition:opacity .3s ease;}
.fd-mod-cred-detail{position:absolute;inset:0;padding:22px 24px;display:flex;align-items:center;background:#D2E9E3;opacity:0;transform:translateY(100%);transition:transform .42s cubic-bezier(.22,.84,.26,1),opacity .3s ease;font-size:12.5px;font-weight:300;color:var(--fd-body);line-height:1.6;}
.fd-mod-cred-card.is-active .fd-mod-cred-title{opacity:0;}
.fd-mod-cred-card.is-active .fd-mod-cred-detail{opacity:1;transform:none;}


/* -- Nuestras líneas -- */
.fd-mod-lines{padding:96px 56px 72px;background:#FFFFFF;}
.fd-mod-link{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--fd-green-mid);}
.fd-mod-lines-sub{font-size:14.5px;font-weight:300;color:var(--fd-muted);}
.fd-mod-linegrid{height:480px;}
.fd-mod-linecard{flex:1 1 0;min-width:0;position:relative;overflow:hidden;border-radius:18px;padding:30px 26px;display:flex;flex-direction:column;justify-content:flex-end;cursor:pointer;transition:flex-grow .55s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1),opacity .4s ease;}
.fd-mod-linecard.is-other{opacity:.45;}
.fd-mod-linecard-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fd-mod-linecard-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 25%,rgba(0,0,0,.5) 100%);opacity:0;transition:opacity .3s ease;}
.fd-mod-linecard.is-active .fd-mod-linecard-scrim{opacity:1;}
.fd-mod-line-name{font-size:20px;font-weight:300;white-space:nowrap;}
.fd-mod-line-sub{font-size:11.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin-top:8px;}
.fd-mod-line-hint{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.35);display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;transition:opacity .3s ease;}
.fd-mod-linecard.is-active .fd-mod-line-hint{opacity:0;}
.fd-mod-line-hint span{width:18px;height:18px;border-radius:9px;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:11px;}
.fd-mod-line-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease,opacity .4s ease;}
.fd-mod-linecard.is-active .fd-mod-line-detail{max-height:220px;opacity:1;}
.fd-mod-line-detail p{font-size:13.5px;font-weight:300;line-height:1.65;margin-top:16px;max-width:420px;}
.fd-mod-line-detail .btn{margin-top:18px;height:44px;padding:0 22px;display:inline-flex;align-items:center;gap:8px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;}



/* -- Productos recomendados -- */
.fd-mod-products{padding:0 56px 72px;background:#FFFFFF;}
.fd-mod-prod-track{display:flex;gap:22px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none;}
.fd-mod-prod-track::-webkit-scrollbar{display:none;}
.fd-mod-prod-card{flex:0 0 calc(25% - 16.5px);scroll-snap-align:start;cursor:pointer;}
.fd-mod-prod-frame{position:relative;height:320px;border-radius:18px;background:#fff;border:1px solid rgba(22,120,106,.18);box-shadow:0 8px 20px rgba(18,49,42,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease;}
.fd-mod-prod-frame:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,49,42,.18);}
.fd-mod-prod-frame img{width:78%;height:78%;object-fit:contain;transition:transform .35s ease;}
.fd-mod-wishlist{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid rgba(18,49,42,.12);color:var(--fd-green-dark);display:flex;align-items:center;justify-content:center;font-size:14px;}
.fd-mod-wishlist.is-active{color:#C0392B;}
.fd-mod-prod-line{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fd-green-mid);}
.fd-mod-prod-name{font-size:16px;font-weight:300;color:var(--fd-green-dark);}
.fd-mod-prod-cta{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--fd-green-dark);border-bottom:1px solid var(--fd-green-dark);padding-bottom:3px;display:inline-flex;align-items:center;gap:6px;}
.fd-mod-prod-nav{position:absolute;top:140px;z-index:3;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid rgba(22,120,106,.25);box-shadow:0 12px 28px rgba(18,49,42,.16);color:var(--fd-green-dark);display:flex;align-items:center;justify-content:center;font-size:15px;}
@media (max-width:991.98px){.fd-mod-prod-card{flex:0 0 80%;}}
@media (max-width:575.98px){.fd-mod-prod-card{flex:0 0 88%;}}


/* -- Newsletter -- */
.fd-mod-newsletter-flag{padding:16px 56px;background:var(--fd-green);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:#fff;}
.fd-mod-newsletter{padding:64px 56px 76px;background:#EDF4F1;}
.fd-mod-newsletter-copy{max-width:520px;font-size:15px;font-weight:300;color:#5B6B66;line-height:1.5;}
.fd-mod-newsletter-form{width:100%;max-width:430px;}
.fd-mod-newsletter-input{height:56px;border-radius:28px 0 0 28px !important;border:1px solid #CFE0D9;padding:0 24px;color:var(--fd-green-dark);font-size:14px;font-weight:300;}
.fd-mod-newsletter-input:focus{box-shadow:none;border-color:var(--fd-green-mid);}
.fd-mod-newsletter-btn{border-radius:0 28px 28px 0 !important;padding:0 34px;background:var(--fd-green-dark);color:#fff;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;}
.fd-mod-newsletter-btn:hover{background:var(--fd-green-mid);color:#fff;}


/* ============================================================
   FICHA DE PRODUCTO — módulos por sección (product.html)
   Un bloque HTML por sección para módulos HTML de DNN.
   Acento naranja embebido: no requiere clase en <body>.
   ============================================================ */

/* -- Tokens del acento de ficha -- */
.fd-modp-hero,.fd-modp-eficacia,.fd-modp-uso,.fd-modp-formula,
.fd-modp-credentials,.fd-modp-related,.fd-modp-faq,.fd-modp-ctabar{--fd-p:#E87200;--fd-p-tint:#FBF3E9;--fd-p-flip:#F3E1C6;--fd-p-border:rgba(192,122,40,.45);}

/* -- Título de sección de ficha -- */
.fd-modp-h2{font-size:32px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-p);}
.fd-modp-eyebrow{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--fd-p);}
.fd-modp-rule{flex:1;height:1px;background:#E3EEEA;}
.fd-modp-head{display:flex;align-items:center;gap:14px;margin-bottom:40px;}
.fd-modp-chev{flex:0 0 auto;border-radius:50%;border:1px solid var(--fd-p-border);color:var(--fd-p);
  display:inline-flex;align-items:center;justify-content:center;transition:transform .45s cubic-bezier(.2,.7,.3,1);}

/* -- 01 Hero: galería + info -- */
.fd-modp-hero{padding:24px 56px 0;}
.fd-modp-gallery{display:flex;flex-direction:column;gap:14px;min-width:0;}
.fd-modp-gallery-main{position:relative;border-radius:18px;overflow:hidden;height:560px;cursor:zoom-in;
  background:linear-gradient(168deg,#EAD7B8 0%,#C9A76B 100%);}
.fd-modp-gallery-main>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.fd-modp-media-wrap{position:relative;min-width:0;}
.fd-modp-media-track{display:flex;gap:12px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;}
.fd-modp-media-track::-webkit-scrollbar{display:none;}
.fd-modp-media-thumb{flex:0 0 96px;scroll-snap-align:start;height:96px;border-radius:12px;border:1px dashed #C9D9D4;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;
  letter-spacing:.06em;text-transform:uppercase;color:#93A6A0;text-align:center;padding:6px;}
.fd-modp-media-nav{position:absolute;top:32px;z-index:3;width:34px;height:34px;border-radius:50%;background:#fff;
  border:1px solid rgba(22,120,106,.25);box-shadow:0 10px 22px rgba(18,49,42,.14);color:var(--fd-green-dark);
  cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;}
.fd-modp-info{display:flex;flex-direction:column;gap:22px;padding-top:12px;}
.fd-modp-badges{display:flex;align-items:center;gap:10px;}
.fd-modp-badge-tint{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:18px;
  background:var(--fd-p-tint);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--fd-p);}
.fd-modp-badge-dark{display:inline-flex;align-items:center;padding:8px 15px;border-radius:18px;
  background:var(--fd-green-dark);font-size:13px;letter-spacing:.04em;font-weight:600;color:#fff;}
.fd-modp-title{font-size:40px;line-height:1.05;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;color:var(--fd-p);}
.fd-modp-tagline{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--fd-muted);font-weight:500;}
.fd-modp-desc{font-size:15.5px;line-height:1.7;font-weight:300;color:var(--fd-body);max-width:500px;}
.fd-modp-resumen{display:flex;flex-direction:column;border-top:1px solid #E3EEEA;}
.fd-modp-resumen-item{border-bottom:1px solid #E3EEEA;}
.fd-modp-resumen-head{display:flex;align-items:center;gap:14px;padding:16px 0;cursor:pointer;user-select:none;}
.fd-modp-resumen-head>span:first-child{flex:1;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fd-green-dark);}
.fd-modp-resumen-head .fd-modp-chev{width:24px;height:24px;font-size:10px;}
.fd-modp-resumen-item.is-open .fd-modp-chev{transform:rotate(180deg);}
.fd-modp-resumen-panel{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(.25,.8,.3,1);}
.fd-modp-resumen-panel p{padding:0 0 18px;font-size:14px;font-weight:300;color:var(--fd-body);line-height:1.65;}
.fd-modp-buy{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;height:56px;padding:0 30px;
  border-radius:28px;background:var(--fd-green-dark);color:#fff;font-size:12.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:600;transition:background .2s ease;}
.fd-modp-buy:hover{background:var(--fd-green-mid);color:#fff;}

/* -- 02 Eficacia comprobada: antes/después + stats -- */
.fd-modp-eficacia{position:relative;margin-top:70px;padding:90px 56px;background:var(--fd-cream);color:var(--fd-green-dark);overflow:hidden;}
.fd-modp-eficacia-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.16;mix-blend-mode:multiply;pointer-events:none;}
.fd-modp-babe{position:relative;height:460px;border-radius:18px;overflow:hidden;cursor:ew-resize;user-select:none;background:#1a1a1a;}
.fd-modp-babe img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fd-modp-babe-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0);}
.fd-modp-babe-line{position:absolute;top:0;bottom:0;right:0;width:2px;background:#fff;}
.fd-modp-babe-handle{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;
  background:#fff;box-shadow:0 10px 24px rgba(18,49,42,.24);display:flex;align-items:center;justify-content:center;
  color:var(--fd-green-dark);font-size:13px;}
.fd-modp-babe-tag{position:absolute;top:16px;padding:6px 14px;border-radius:14px;background:rgba(255,255,255,.9);
  color:var(--fd-green-dark);font-size:11px;font-weight:500;}
.fd-modp-stats{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;
  border:1px solid rgba(18,49,42,.12);}
.fd-modp-stat{background:#fff;padding:30px 32px;display:flex;align-items:center;gap:22px;
  border-bottom:1px solid rgba(18,49,42,.12);}
.fd-modp-stat:last-child{border-bottom:0;}
.fd-modp-stat-icon{width:56px;height:56px;border-radius:28px;background:var(--fd-p);display:flex;align-items:center;
  justify-content:center;flex:0 0 auto;color:#fff;font-size:22px;}
.fd-modp-stat-num{font-size:42px;font-weight:700;color:var(--fd-p);}
.fd-modp-stat-label{margin-top:6px;font-size:12.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;
  color:var(--fd-green-dark);line-height:1.4;}
.fd-modp-note{position:relative;margin-top:30px;font-size:11.5px;font-weight:300;color:var(--fd-muted);}

/* -- 03 Modo de uso -- */
.fd-modp-uso{padding:100px 56px;background:#fff;}
.fd-modp-uso-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:16px;
  background:rgba(255,193,79,.14);color:#B8860B;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.fd-modp-uso-copy{display:flex;flex-direction:column;gap:18px;font-size:15.5px;line-height:1.75;font-weight:300;color:var(--fd-body);}
.fd-modp-uso-video{border-radius:16px;overflow:hidden;background:#F7FAF9;aspect-ratio:16/9;}
.fd-modp-uso-video video{width:100%;height:100%;object-fit:cover;display:block;}

/* -- 04 Fórmula: ingredientes + INCI -- */
.fd-modp-formula{padding:100px 56px;background:linear-gradient(180deg,#fff 0%,#F2F7F5 100%);}
.fd-modp-ing-grid{margin-bottom:50px;}
.fd-modp-ing{display:flex;flex-direction:column;gap:14px;}
.fd-modp-ing-media{position:relative;height:190px;border-radius:14px;overflow:hidden;background:#F7FAF9;border:1px solid #E4ECE9;}
.fd-modp-ing-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.28);}
.fd-modp-ing-curtain{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,rgba(15,38,32,.94) 0%,rgba(15,38,32,.78) 65%,rgba(15,38,32,0) 100%);transition:height .6s cubic-bezier(.22,.8,.28,1);}
.fd-modp-ing.is-open .fd-modp-ing-curtain{height:62%;}
.fd-modp-ing-body{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:12px;font-weight:300;color:#fff;
  line-height:1.5;opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s cubic-bezier(.22,.8,.28,1);}
.fd-modp-ing.is-open .fd-modp-ing-body{opacity:1;transform:none;}
.fd-modp-ing-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;}
.fd-modp-ing-head>span:first-child{font-size:15px;font-weight:400;color:var(--fd-green-dark);}
.fd-modp-ing-head .fd-modp-chev{width:24px;height:24px;font-size:10px;}
.fd-modp-ing.is-open .fd-modp-chev{transform:rotate(180deg);}
.fd-modp-inci{border-radius:16px;background:#fff;border:1px solid #DCEAE6;overflow:hidden;}
.fd-modp-inci-head{padding:22px 28px;display:flex;align-items:center;gap:16px;cursor:pointer;user-select:none;}
.fd-modp-inci-head>span:first-child{flex:1;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--fd-muted);}
.fd-modp-inci-head .fd-modp-chev{width:28px;height:28px;font-size:11px;}
.fd-modp-inci.is-open .fd-modp-chev{transform:rotate(180deg);}
.fd-modp-inci-panel{overflow:hidden;max-height:0;transition:max-height .55s cubic-bezier(.25,.8,.3,1);}
.fd-modp-inci-panel p{padding:0 28px 24px;font-size:13px;font-weight:300;color:#4C625B;line-height:1.95;}

/* -- 05 Credenciales del producto -- */
.fd-modp-credentials{padding:90px 56px;background:#fff;color:var(--fd-green-dark);}
.fd-modp-cred-row{border-radius:14px;overflow:hidden;}
.fd-modp-cred-row>*{border:1px solid rgba(18,49,42,.14);margin-left:-1px;margin-top:-1px;}
.fd-modp-cred-card{position:relative;background:#fff;padding:24px;display:flex;align-items:center;gap:14px;
  overflow:hidden;min-height:84px;}
.fd-modp-cred-icon{width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.fd-modp-cred-icon img{width:100%;height:100%;}
.fd-modp-cred-title{font-size:14px;font-weight:500;color:var(--fd-green-dark);line-height:1.3;transition:opacity .3s ease;}
.fd-modp-cred-detail{position:absolute;inset:0;padding:22px 24px;display:flex;align-items:center;background:var(--fd-p-flip);
  opacity:0;transform:translateY(100%);transition:transform .42s cubic-bezier(.22,.84,.26,1),opacity .3s ease;
  font-size:12.5px;font-weight:300;color:var(--fd-body);line-height:1.6;}
.fd-modp-cred-card.is-active .fd-modp-cred-title{opacity:0;}
.fd-modp-cred-card.is-active .fd-modp-cred-detail{opacity:1;transform:none;}

/* -- 06 Productos relacionados -- */
.fd-modp-related{padding:100px 56px 110px;background:#fff;}
.fd-modp-section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px;}
.fd-modp-section-head a{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--fd-p);}
.fd-modp-prod-frame{position:relative;height:300px;border-radius:18px;background:#fff;border:1px solid rgba(192,122,40,.22);
  box-shadow:0 8px 20px rgba(18,49,42,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;
  cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease;}
.fd-modp-prod-frame:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,49,42,.18);}
.fd-modp-prod-frame img{width:66%;height:66%;object-fit:contain;transition:transform .35s ease;}
.fd-modp-wishlist{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid rgba(18,49,42,.12);color:var(--fd-green-dark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:14px;}
.fd-modp-wishlist.is-active{color:#C0392B;}
.fd-modp-prod-name{margin-top:16px;font-size:17px;font-weight:300;color:var(--fd-green-dark);}
.fd-modp-prod-size{margin-top:4px;font-size:12px;font-weight:300;color:var(--fd-muted);}
.fd-modp-prod-cta{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;color:var(--fd-p);border-bottom:1px solid var(--fd-p);padding-bottom:3px;}

/* -- 07 Preguntas frecuentes -- */
.fd-modp-faq{padding:20px 56px 110px;background:#fff;}
.fd-modp-faq .fd-modp-h2{margin-bottom:30px;}
.fd-modp-faq-item{border-top:1px solid rgba(18,49,42,.14);}
.fd-modp-faq-item:last-child{border-bottom:1px solid rgba(18,49,42,.14);}
.fd-modp-faq-head{display:flex;align-items:center;gap:20px;padding:22px 0;cursor:pointer;user-select:none;}
.fd-modp-faq-head>span:first-child{flex:1;font-size:16px;font-weight:400;color:var(--fd-green-dark);line-height:1.4;}
.fd-modp-faq-head .fd-modp-chev{width:30px;height:30px;font-size:11px;}
.fd-modp-faq-item.is-open .fd-modp-chev{transform:rotate(180deg);}
.fd-modp-faq-panel{overflow:hidden;max-height:0;transition:max-height .55s cubic-bezier(.25,.8,.3,1);}
.fd-modp-faq-panel p{padding:0 60px 26px 0;font-size:14.5px;font-weight:300;color:#4C625B;line-height:1.8;}

/* -- 08 Barra de compra sticky -- */
.fd-modp-ctabar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:14px 56px;background:rgba(255,255,255,.97);
  border-top:1px solid var(--fd-line);box-shadow:0 -12px 30px rgba(18,49,42,.1);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:space-between;gap:20px;opacity:0;transform:translateY(100%);
  transition:opacity .3s ease,transform .3s ease;pointer-events:none;}
.fd-modp-ctabar.is-visible{opacity:1;transform:none;pointer-events:auto;}
.fd-modp-ctabar-info{display:flex;align-items:center;gap:14px;min-width:0;}
.fd-modp-ctabar-info img{height:44px;width:44px;object-fit:contain;flex:0 0 auto;}
.fd-modp-ctabar-info .name{font-size:14px;font-weight:400;color:var(--fd-green-dark);}
.fd-modp-ctabar-info .line{font-size:11.5px;font-weight:300;color:var(--fd-muted);}
.fd-modp-ctabar-buy{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 26px;border-radius:23px;
  background:var(--fd-green-dark);color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;}
.fd-modp-ctabar-buy:hover{background:var(--fd-green-mid);color:#fff;}
.fd-modp-ctabar-spacer{height:78px;}

/* -- Responsive de los módulos de ficha -- */
@media (max-width:991.98px){
  .fd-modp-hero,.fd-modp-eficacia,.fd-modp-uso,.fd-modp-formula,
  .fd-modp-credentials,.fd-modp-related,.fd-modp-faq,.fd-modp-ctabar{padding-left:24px;padding-right:24px;}
  .fd-modp-eficacia{margin-top:40px;}
  .fd-modp-gallery-main{height:380px;}
  .fd-modp-title{font-size:30px;}
  .fd-modp-babe{height:340px;}
  .fd-modp-faq-panel p{padding-right:0;}
}
@media (max-width:575.98px){
  .fd-modp-gallery-main,.fd-modp-babe{height:300px;}
  .fd-modp-ctabar-info .name{font-size:12.5px;}
}


/* ============================================================
   HUB DE LÍNEA — módulo único (hub.html)
   Acento verde embebido: no requiere clase en <body>.
   ============================================================ */
.fd-modh-hero,.fd-modh-section{--fd-h:#1C6A55;}

/* -- Comunes del hub -- */
.fd-modh-h2{font-size:32px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-h);margin-bottom:36px; margin-top: 50px;}
.fd-modh-eyebrow{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--fd-h);margin-bottom:16px;}
.fd-modh-section{padding:20px 56px 100px;}

/* -- Hero de línea -- */
.fd-modh-hero{position:relative;height:clamp(300px,30vw,880px);overflow:hidden;}
.fd-modh-hero-bg{position:absolute;inset:-.5%;background-size:cover;background-position:center;
  animation:fdHeroDrift 26s ease-in-out infinite;}
.fd-modh-hero-inner{position:absolute;inset:0;display:flex;align-items:center;padding:0 56px;}
.fd-modh-hero-copy{position:relative;display:inline-flex;flex-direction:column;gap:12px;padding:28px 34px;
  border-radius:16px;background:rgba(15,38,32,.32);backdrop-filter:blur(6px);max-width:460px;color:#fff;}
.fd-modh-hero-copy h1{font-size:38px;line-height:1.08;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;}
.fd-modh-hero-copy p{font-size:15px;line-height:1.6;font-weight:300;color:rgba(255,255,255,.9);max-width:400px;}

/* -- Productos de la línea -- */
.fd-modh-prod-frame{position:relative;height:320px;border-radius:18px;background:#fff;border:1px solid rgba(22,120,106,.18);
  box-shadow:0 8px 20px rgba(18,49,42,.08);display:flex;align-items:center;justify-content:center;overflow:hidden;
  cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.7,.3,1),box-shadow .45s ease;}
.fd-modh-prod-frame:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,49,42,.18);}
.fd-modh-prod-frame img{width:72%;height:72%;object-fit:contain;transition:transform .35s ease;}
.fd-modh-wishlist{position:absolute;top:14px;right:14px;z-index:3;width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid rgba(18,49,42,.12);color:var(--fd-green-dark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:14px;}
.fd-modh-wishlist.is-active{color:#C0392B;}
.fd-modh-prod-name{margin-top:16px;font-size:17px;font-weight:300;color:var(--fd-green-dark);}
.fd-modh-prod-size{margin-top:4px;font-size:12px;font-weight:300;color:var(--fd-muted);}
.fd-modh-prod-cta{margin-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.1em;
  text-transform:uppercase;font-weight:500;color:var(--fd-h);border-bottom:1px solid var(--fd-h);padding-bottom:3px;}

/* -- Activo estrella -- */
.fd-modh-active{background:linear-gradient(180deg,#fff 0%,#F2F7F5 100%);border-radius:22px;padding:50px;}
.fd-modh-active-media{position:relative;height:340px;border-radius:16px;overflow:hidden;background:#EAF3EF;border:1px solid #DCEAE4;}
.fd-modh-active-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.15);}
.fd-modh-active-name{font-size:30px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;color:var(--fd-green-dark);margin-bottom:16px;}
.fd-modh-active-copy{font-size:15px;font-weight:300;color:var(--fd-body);line-height:1.7;max-width:600px;}

/* -- Credenciales de la línea -- */
.fd-modh-cred-row{border-radius:14px;overflow:hidden;}
.fd-modh-cred-row>*{border:1px solid rgba(18,49,42,.14);margin-left:-1px;margin-top:-1px;}
.fd-modh-cred-card{position:relative;background:#fff;padding:24px;display:flex;align-items:center;gap:14px;
  overflow:hidden;min-height:84px;}
.fd-modh-cred-icon{width:40px;height:40px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;}
.fd-modh-cred-icon img{width:100%;height:100%;}
.fd-modh-cred-title{font-size:14px;font-weight:500;color:var(--fd-green-dark);line-height:1.3;transition:opacity .3s ease;}
.fd-modh-cred-detail{position:absolute;inset:0;padding:22px 24px;display:flex;align-items:center;background:#D2E9E3;
  opacity:0;transform:translateY(100%);transition:transform .42s cubic-bezier(.22,.84,.26,1),opacity .3s ease;
  font-size:12.5px;font-weight:300;color:var(--fd-body);line-height:1.6;}
.fd-modh-cred-card.is-active .fd-modh-cred-title{opacity:0;}
.fd-modh-cred-card.is-active .fd-modh-cred-detail{opacity:1;transform:none;}

/* -- Notas relacionadas -- */
.fd-modh-note-thumb{height:220px;border-radius:16px;background:#F2F7F5;border:1px dashed #C9D9D4;display:flex;
  align-items:center;justify-content:center;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#93A6A0;}
.fd-modh-note-tag{margin-top:16px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--fd-h);}
.fd-modh-note-title{margin-top:6px;font-size:18px;font-weight:300;color:var(--fd-green-dark);line-height:1.4;}
.fd-modh-note-copy{margin-top:8px;font-size:13.5px;font-weight:300;color:#5B6B66;line-height:1.6;}

/* -- Otras líneas -- */
.fd-modh-other-line{display:block;position:relative;height:180px;border-radius:16px;overflow:hidden;
  background:var(--fd-green-dark);}
.fd-modh-other-line canvas{position:absolute;inset:0;width:100%;height:100%;display:block;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.fd-modh-other-line:hover canvas{transform:scale(1.06);}
.fd-modh-other-line-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,38,32,0) 45%,rgba(15,38,32,.72) 100%);}
.fd-modh-other-line-name{position:absolute;left:16px;bottom:14px;font-size:14px;font-weight:500;letter-spacing:.04em;
  text-transform:uppercase;color:#fff;}

/* -- Responsive del hub -- */
@media (max-width:991.98px){
  .fd-modh-section,.fd-modh-hero-inner{padding-left:24px;padding-right:24px;}
  .fd-modh-hero-copy h1{font-size:28px;}
  .fd-modh-active{padding:28px;}
  .fd-modh-prod-frame{height:260px;}
}


/* ============================================================
   FICHA DE PRODUCTO — ajustes de revisión
   ============================================================ */
/* Badges: mismo alto; el gramaje va en contorno, no en macizo negro */
.fd-badge-tint,.fd-badge-dark{height:36px;padding:0 16px;border-radius:18px;line-height:1;white-space:nowrap;flex:0 0 auto;}
.fd-badge-dark{background:#fff;border:1px solid var(--fd-green-dark);color:var(--fd-green-dark);
  font-size:12.5px;font-weight:600;letter-spacing:.06em;}

/* Bullets diferenciales (beneficios / ingredientes) */
.fd-bullets{list-style:none;margin:0;padding:2px 0 20px;display:flex;flex-direction:column;gap:10px;}
.fd-bullets li{position:relative;padding-left:22px;font-size:14px;font-weight:300;
  color:var(--fd-body);line-height:1.55;}
.fd-bullets li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:4px;
  border-radius:1px;background:var(--fd-green-mid);}
.fd-bullets li b{font-weight:500;color:var(--fd-green-dark);}

/* Aire entre la galería y el resumen; CTA corto y verde */
.fd-resumen{margin-top:8px;}
.fd-btn-buy{align-self:flex-start;height:52px;padding:0 34px;background:var(--fd-green-mid);color:#fff;}
.fd-btn-buy:hover{background:var(--fd-green-dark);opacity:1;}

/* Antes/Después: eje, línea y flechas que explican el deslizamiento */
.fd-babe-line{width:3px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.4);}
.fd-babe-axis{position:absolute;left:8%;right:8%;top:50%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 18%,rgba(255,255,255,.7) 82%,rgba(255,255,255,0) 100%);}
.fd-babe-axis::before,.fd-babe-axis::after{content:"";position:absolute;top:-4px;width:9px;height:9px;
  border-top:1px solid rgba(255,255,255,.85);border-right:1px solid rgba(255,255,255,.85);}
.fd-babe-axis::before{left:0;transform:rotate(-135deg);}
.fd-babe-axis::after{right:0;transform:rotate(45deg);}
.fd-babe-handle{width:54px;height:54px;margin:-27px 0 0 -27px;gap:4px;font-size:11px;
  animation:fdBabeHint 3.4s ease-in-out infinite;}
.fd-babe[data-dragged] .fd-babe-handle{animation:none;}
@keyframes fdBabeHint{0%,100%{transform:translateX(0);}35%{transform:translateX(-7px);}65%{transform:translateX(7px);}}
.fd-babe-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);white-space:nowrap;padding:6px 14px;border-radius:14px;
  background:rgba(255,255,255,.9);color:var(--fd-green-dark);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;pointer-events:none;}

/* Modo de uso: el video marca el alto, el texto se alinea a él */
.fd-uso{padding:76px 56px;}
.fd-uso-copy{justify-content:center;gap:16px;}
.fd-uso-copy .fd-h2{margin:0;}
.fd-uso-copy .fd-uso-badge{align-self:flex-start;}

/* Ingredientes: nombre comercial + descriptor de packaging */
.fd-ing-head span:first-child{line-height:1.3;}
.fd-ing-sub{display:block;margin-top:3px;font-size:12px;font-weight:300;font-style:normal;color:var(--fd-muted);}

/* Mobile: primero las fotos, después todo el texto */
@media (max-width:767.98px){
  .fd-gallery{order:-1;}
  .fd-product-info{padding-top:30px;gap:18px;}
  .fd-product-title{font-size:30px;}
  .fd-uso{padding-top:56px;padding-bottom:56px;}
}


/* ============================================================
   FICHA (módulos DNN, fd-modp-*) — ajustes de revisión
   ============================================================ */
/* Variante verde de línea: agregar la clase al <section> del módulo */
.fd-modp-verde{--fd-p:#1C6A55;--fd-p-tint:#EAF3EF;--fd-p-flip:#D2E9E3;--fd-p-border:rgba(28,106,85,.45);}
/* Credenciales: la animación siempre en verde Fisioderm */
.fd-modp-credentials{--fd-p-flip:#D2E9E3;}

/* Badges: mismo alto; el gramaje en contorno, no macizo */
.fd-modp-badge-tint,.fd-modp-badge-dark{height:36px;padding:0 16px;border-radius:18px;line-height:1;white-space:nowrap;flex:0 0 auto;}
.fd-modp-badge-dark{background:#fff;border:1px solid var(--fd-green-dark);color:var(--fd-green-dark);
  font-size:12.5px;font-weight:600;letter-spacing:.06em;}

/* Bullets diferenciales */
.fd-modp-bullets{list-style:none;margin:0;padding:2px 0 20px;display:flex;flex-direction:column;gap:10px;}
.fd-modp-bullets li{position:relative;padding-left:22px;font-size:14px;font-weight:300;color:var(--fd-body);line-height:1.55;}
.fd-modp-bullets li::before{content:"";position:absolute;left:0;top:.5em;width:11px;height:4px;border-radius:1px;background:var(--fd-green-mid);}
.fd-modp-bullets li b{font-weight:500;color:var(--fd-green-dark);}

/* Aire antes del resumen; CTA corto y verde */
.fd-modp-resumen{margin-top:8px;}
.fd-modp-buy{height:52px;padding:0 34px;background:var(--fd-green-mid);border-radius:26px;}
.fd-modp-buy:hover{background:var(--fd-green-dark);}

/* Antes/Después: eje, línea y flechas */
.fd-modp-babe-line{width:3px;background:#fff;box-shadow:0 0 14px rgba(0,0,0,.4);}
.fd-modp-babe-axis{position:absolute;left:8%;right:8%;top:50%;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.7) 18%,rgba(255,255,255,.7) 82%,rgba(255,255,255,0) 100%);}
.fd-modp-babe-axis::before,.fd-modp-babe-axis::after{content:"";position:absolute;top:-4px;width:9px;height:9px;
  border-top:1px solid rgba(255,255,255,.85);border-right:1px solid rgba(255,255,255,.85);}
.fd-modp-babe-axis::before{left:0;transform:rotate(-135deg);}
.fd-modp-babe-axis::after{right:0;transform:rotate(45deg);}
.fd-modp-babe-handle{width:54px;height:54px;margin:-27px 0 0 -27px;gap:4px;font-size:11px;
  animation:fdBabeHint 3.4s ease-in-out infinite;}
.fd-modp-babe[data-dragged] .fd-modp-babe-handle{animation:none;}
.fd-modp-babe-hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);white-space:nowrap;padding:6px 14px;border-radius:14px;
  background:rgba(255,255,255,.9);color:var(--fd-green-dark);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;pointer-events:none;}

/* Modo de uso: el video marca el alto */
.fd-modp-uso{padding:76px 56px;}
.fd-modp-uso-copy{justify-content:center;gap:16px;}
.fd-modp-uso-copy .fd-modp-h2{margin:0;}
.fd-modp-uso-copy .fd-modp-uso-badge{align-self:flex-start;}

/* Ingredientes: nombre comercial + descriptor de packaging */
.fd-modp-ing-head>span:first-child{line-height:1.3;}
.fd-modp-ing-sub{display:block;margin-top:3px;font-size:12px;font-weight:300;font-style:normal;color:var(--fd-muted);}

/* Mobile: primero las fotos, después el texto */
@media (max-width:767.98px){
  .fd-modp-gallery{order:-1;}
  .fd-modp-info{padding-top:30px;gap:18px;}
  .fd-modp-title{font-size:30px;}
  .fd-modp-uso{padding-top:56px;padding-bottom:56px;}
}


/* ============================================================
   ACENTO DE LÍNEA — un solo lugar para la paleta de cada ficha
   Se aplica con una clase en el <body> (o en el <section> del módulo):
     .fd-accent-orange  → Solar          (#E87200)
     .fd-accent-green   → Lifting +      (#1C6A55)
   Todos los elementos de la ficha leen --fd-accent*, así que agregar
   una línea nueva es agregar un bloque de 5 variables acá abajo.
   ============================================================ */
/* Verde Fisioderm como default: una página sin clase de línea (hub, login,
   institucionales) hereda la marca, nunca tokens sin valor. */
:root{
  --fd-accent:#1C6A55;
  --fd-accent-dark:#12312A;
  --fd-accent-tint:#EAF3EF;
  --fd-accent-flip:#D2E9E3;
  --fd-accent-border:rgba(28,106,85,.45);
  --fd-accent-soft:rgba(28,106,85,.22);
}
.fd-accent-orange{
  --fd-accent:#E87200;
  --fd-accent-dark:#C25F00;
  --fd-accent-tint:#FBF3E9;
  --fd-accent-flip:#F3E1C6;
  --fd-accent-border:rgba(192,122,40,.45);
  --fd-accent-soft:rgba(232,114,0,.22);
}
.fd-accent-green{
  --fd-accent:#1C6A55;
  --fd-accent-dark:#12312A;
  --fd-accent-tint:#EAF3EF;
  --fd-accent-flip:#D2E9E3;
  --fd-accent-border:rgba(28,106,85,.45);
  --fd-accent-soft:rgba(28,106,85,.22);
}

/* Ficha: todo lo cromático pasa por el token */
.fd-product-title{color:var(--fd-accent);}
.fd-badge-tint{background:var(--fd-accent-tint);color:var(--fd-accent);}
.fd-resumen-chev,.fd-ing-chev,.fd-inci-chev,.fd-faq-chev{border-color:var(--fd-accent-border);color:var(--fd-accent);}
.fd-stat-icon{background:var(--fd-accent);}
.fd-stat-num{color:var(--fd-accent);}
.fd-cred-icon{background:var(--fd-accent);}
.fd-cred-detail{background:var(--fd-accent-flip);}
.fd-prod-frame{border-color:var(--fd-accent-soft);}
.fd-prod-cta{color:var(--fd-accent);border-bottom-color:var(--fd-accent);}
.fd-section-head a{color:var(--fd-accent);}
.fd-breadcrumb .is-current{color:var(--fd-accent);}
.fd-uso-badge{color:var(--fd-accent);}
.fd-babe-hint{color:var(--fd-accent);}
.fd-bullets li::before{background:var(--fd-accent);}
.fd-bullets li b{color:var(--fd-accent-dark);}
.fd-btn-buy{background:var(--fd-accent);}
.fd-btn-buy:hover{background:var(--fd-accent-dark);}

/* Eficacia: aire real entre la foto y los porcentuales.
   .fd-babe es a la vez columna y marco recortado, así que el gutter de
   Bootstrap no separa nada (la imagen es absolute y lo ignora). Se pasa
   la fila a grid con gap explícito y se anula el gutter. */
.fd-texture-grid{--bs-gutter-x:0;display:grid;grid-template-columns:7fr 5fr;
  column-gap:64px;align-items:center;margin-left:0;margin-right:0;}
.fd-texture-grid>*{width:auto;max-width:none;padding-left:0;padding-right:0;flex:none;min-width:0;}
@media (max-width:991.98px){.fd-texture-grid{column-gap:40px;}}
@media (max-width:767.98px){.fd-texture-grid{grid-template-columns:1fr;row-gap:36px;}}

/* Lo mismo para los módulos DNN */
.fd-modp-verde{--fd-accent:#1C6A55;--fd-accent-dark:#12312A;--fd-accent-tint:#EAF3EF;
  --fd-accent-flip:#D2E9E3;--fd-accent-border:rgba(28,106,85,.45);--fd-accent-soft:rgba(28,106,85,.22);}
.fd-modp-eficacia>.row{--bs-gutter-x:0;display:grid;grid-template-columns:7fr 5fr;
  column-gap:64px;align-items:center;margin-left:0;margin-right:0;}
.fd-modp-eficacia>.row>*{width:auto;max-width:none;padding-left:0;padding-right:0;flex:none;min-width:0;}
@media (max-width:991.98px){.fd-modp-eficacia>.row{column-gap:40px;}}
@media (max-width:767.98px){.fd-modp-eficacia>.row{grid-template-columns:1fr;row-gap:36px;}}
.fd-modp-bullets li::before{background:var(--fd-accent,#E87200);}
.fd-modp-bullets li b{color:var(--fd-accent-dark,#C25F00);}
.fd-modp-buy{background:var(--fd-accent,#E87200);}
.fd-modp-buy:hover{background:var(--fd-accent-dark,#C25F00);}
.fd-modp-babe-hint{color:var(--fd-accent,#E87200);}


/* ============================================================
   MONTSERRAT SOBRE default.css DE DNN
   default.css apunta directo a h1..h6, inputs y .Normal/.SubHead.
   Una regla directa le gana a la herencia desde body, así que la
   familia se declara en los elementos, no solo en el body.
   ============================================================ */
h1,h2,h3,h4,h5,h6,
p,li,td,th,label,span,div,a,
input,select,textarea,button,
.Normal,.NormalBold,.NormalRed,.Head,.SubHead,.SubSubHead,
.DnnModule,.dnnForm,.dnnFormItem{font-family:var(--fd-font);}


/* Lupa de producto en touch: pista visual y sin scroll mientras se explora */
.fd-zoom-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;width:max-content;max-width:calc(100% - 24px);white-space:nowrap;
  display:none;align-items:center;gap:7px;padding:6px 13px;border-radius:15px;
  background:rgba(255,255,255,.92);color:var(--fd-green-dark);font-size:10.5px;
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;pointer-events:none;
  transition:opacity .25s ease;}
.fd-zoom-touch .fd-zoom-hint{display:inline-flex;}
.fd-zoom-touch [data-zoomcard].is-zooming{touch-action:none;}
[data-zoomcard].is-zooming .fd-zoom-hint{opacity:0;}


/* Topbar en pantallas chicas: el padding de 56px y el tracking de .12em
   la desbordaban. Se compacta y, en teléfono, quedan solo los íconos. */
@media (max-width:991.98px){
  .fd-topbar{height:36px;padding:0 16px;gap:6px;font-size:11px;letter-spacing:.06em;}
  .fd-topbar-item{height:26px;padding:0 8px;gap:6px;}
  .fd-nav{min-height:68px;padding:0 16px;}
  .fd-logo{height:34px;}
  .fd-panel{right:16px;left:16px;width:auto;}
  .fd-panel-search,.fd-panel-login{width:auto;}
}
@media (max-width:575.98px){
  .fd-topbar{justify-content:flex-end;gap:2px;}
  .fd-topbar-item span{display:none;}
  .fd-topbar-item{padding:0 10px;font-size:14px;}
  .fd-topbar-sep{display:none;}
}


/* ============================================================
   HOME EN MOBILE — líneas, carrusel y credenciales
   ============================================================ */
@media (max-width:991.98px){

  /* -- Nuestras líneas: el mismo "expandir" del desktop, pero vertical.
        La tarjeta activa crece en alto, la foto se acomoda y el detalle
        entra desde abajo. Las otras se atenúan en vez de encogerse. -- */
  .fd-mod-mission{padding:72px 20px;}
  .fd-mod-lines{padding:72px 20px 56px;}
  .fd-mod-linegrid{flex-direction:column;height:auto;gap:12px;}
  .fd-mod-linecard{flex:0 0 auto !important;height:136px;padding:22px 20px;
    transition:height .55s cubic-bezier(.22,.9,.28,1),opacity .4s ease;}
  .fd-mod-linecard.is-active{height:312px;}
  .fd-mod-linecard.is-other{opacity:.58;}
  .fd-mod-linecard-bg{transform:scale(1.06);transition:transform .8s cubic-bezier(.22,.9,.28,1);}
  .fd-mod-linecard.is-active .fd-mod-linecard-bg{transform:scale(1);}
  .fd-mod-line-name{font-size:19px;}
  .fd-mod-line-hint{margin-top:12px;padding-top:10px;}
  .fd-mod-linecard.is-active .fd-mod-line-detail{max-height:200px;}
  .fd-mod-line-detail p{font-size:13px;margin-top:12px;}
  .fd-mod-line-detail .btn{margin-top:14px;height:42px;}

  /* -- Productos recomendados: el título y el link se pisaban en una
        sola fila, y el overflow del carrusel recortaba la sombra. -- */
  .fd-mod-products{padding:0 0 56px;}
  .fd-mod-products>.d-flex{flex-direction:column;align-items:flex-start !important;gap:10px;
    padding:0 20px;margin-bottom:22px !important;}
  .fd-mod-prod-track{gap:14px;padding:14px 20px 22px;scroll-padding-left:20px;}
  .fd-mod-prod-card{flex:0 0 78%;}
  .fd-mod-prod-frame{height:260px;box-shadow:0 6px 18px rgba(18,49,42,.07);
    transition:transform .45s cubic-bezier(.22,.9,.28,1),box-shadow .45s ease;}
  .fd-mod-prod-card:active .fd-mod-prod-frame{transform:scale(.985);}
  .fd-mod-prod-nav{display:none;}

  /* -- Credenciales: una debajo de otra. Sin hover no hay revelado, así
        que el detalle va siempre visible, bajo el título. -- */
  .fd-mod-credentials{padding:0 20px 72px;}
  .fd-mod-cred-row{border-radius:12px;}
  .fd-mod-cred-row>*{flex:0 0 100%;max-width:100%;}
  .fd-mod-cred-card{align-items:flex-start;gap:14px;padding:18px 18px;min-height:0;}
  .fd-mod-cred-icon{width:38px;height:38px;}
  .fd-mod-cred-title{font-size:14.5px;overflow-wrap:normal;}
  .fd-mod-cred-card>div:not(.fd-mod-cred-icon){min-width:0;}
  .fd-mod-cred-detail{position:static;inset:auto;opacity:1;transform:none;background:transparent;
    padding:6px 0 0;display:block;font-size:12.5px;font-weight:300;line-height:1.5;color:var(--fd-muted);}
  .fd-mod-cred-card.is-active .fd-mod-cred-title{opacity:1;}
  /* título + detalle apilados a la derecha del ícono */
  .fd-mod-cred-card{display:grid;grid-template-columns:38px 1fr;column-gap:14px;align-items:start;}
  .fd-mod-cred-icon{grid-row:1 / span 2;}
}
@media (max-width:575.98px){
  .fd-mod-prod-card{flex:0 0 84%;}
  .fd-mod-linecard.is-active{height:296px;}
}


/* ============================================================
   MI CUENTA — página de login y acceso rápido del topbar
   Mismo bloque para los dos: el panel del header es la versión
   corta del formulario de la página.
   ============================================================ */
.fd-login{padding:36px 56px 96px;background:#fff;}
.fd-login-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:0;
  border-radius:22px;overflow:hidden;box-shadow:0 34px 70px rgba(15,38,32,.13);
  border:1px solid var(--fd-line);min-height:560px;}

.fd-login-aside{position:relative;overflow:hidden;background:var(--fd-green-deep);color:#fff;
  display:flex;align-items:flex-end;}
.fd-login-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:.9;}
.fd-login-aside::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(190deg,rgba(11,68,60,.25) 0%,rgba(11,40,34,.82) 72%);}
.fd-login-aside-inner{position:relative;z-index:2;padding:52px 48px 48px;display:flex;
  flex-direction:column;gap:20px;}
.fd-login-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;
  color:rgba(255,255,255,.78);}
.fd-login-claim{font-size:clamp(30px,3vw,44px);line-height:1.12;font-weight:200;
  letter-spacing:-.01em;text-transform:uppercase;margin:0;}
.fd-login-claim b{font-weight:400;}
.fd-login-perks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px;}
.fd-login-perks li{display:flex;align-items:flex-start;gap:13px;font-size:13.5px;font-weight:300;
  line-height:1.5;color:rgba(255,255,255,.9);}
.fd-login-perks i{flex:0 0 auto;width:30px;height:30px;border-radius:15px;display:flex;
  align-items:center;justify-content:center;font-size:12px;background:rgba(255,255,255,.14);}

.fd-login-panel{background:#fff;display:flex;align-items:center;justify-content:center;padding:48px 44px;}
.fd-login-card{width:100%;max-width:400px;}
.fd-login-title{font-size:30px;font-weight:200;letter-spacing:-.005em;text-transform:uppercase;
  color:var(--fd-green);margin:0;}
.fd-login-sub{margin:10px 0 30px;font-size:14px;font-weight:300;line-height:1.55;color:var(--fd-muted);}
.fd-login-form{display:flex;flex-direction:column;gap:16px;}

/* campo con etiqueta flotante */
.fd-login-field{position:relative;}
.fd-login-field input{width:100%;height:58px;padding:22px 46px 8px 18px;border-radius:12px;
  border:1px solid #DCE8E4;background:#F8FBFA;outline:none;font-size:14.5px;font-weight:400;
  color:var(--fd-ink);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;}
.fd-login-field input:hover{border-color:#C3D8D1;}
.fd-login-field input:focus{border-color:var(--fd-green-mid);background:#fff;
  box-shadow:0 0 0 3px rgba(28,106,85,.12);}
.fd-login-field label{position:absolute;left:19px;top:19px;font-size:14px;font-weight:300;
  color:var(--fd-muted);pointer-events:none;transform-origin:left top;
  transition:transform .22s cubic-bezier(.22,.9,.28,1),color .22s ease;}
.fd-login-field input:focus+label,
.fd-login-field input:not(:placeholder-shown)+label{transform:translateY(-11px) scale(.76);
  color:var(--fd-green-mid);font-weight:500;letter-spacing:.06em;}
.fd-login-field-icon{position:absolute;right:18px;top:50%;transform:translateY(-50%);
  font-size:14px;color:#A9BDB6;pointer-events:none;}
.fd-login-eye{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:36px;height:36px;
  border-radius:18px;border:none;background:transparent;color:#8FA8A0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:14px;transition:background .2s ease,color .2s ease;}
.fd-login-eye:hover{background:var(--fd-tint);color:var(--fd-green-mid);}

.fd-login-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:2px;}
.fd-login-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:300;
  color:var(--fd-body);cursor:pointer;user-select:none;}
.fd-login-check input{position:absolute;opacity:0;width:0;height:0;}
.fd-login-check span{width:18px;height:18px;border-radius:5px;border:1px solid #CBDCD6;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease;}
.fd-login-check span::after{content:"";width:9px;height:5px;border-left:2px solid #fff;
  border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.4);opacity:0;transition:transform .22s cubic-bezier(.22,.9,.28,1),opacity .18s ease;}
.fd-login-check input:checked+span{background:var(--fd-green-mid);border-color:var(--fd-green-mid);}
.fd-login-check input:checked+span::after{opacity:1;transform:rotate(-45deg) scale(1) translate(1px,-1px);}
.fd-login-minor{font-size:12.5px;font-weight:400;color:var(--fd-green-mid);}

.fd-login-submit{position:relative;overflow:hidden;margin-top:8px;height:54px;border:none;
  border-radius:27px;background:var(--fd-green-mid);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:11px;
  font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:background .25s ease,transform .25s cubic-bezier(.22,.9,.28,1),box-shadow .25s ease;}
.fd-login-submit:hover{background:var(--fd-green-dark);transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(18,49,42,.22);}
.fd-login-submit:active{transform:translateY(0);}
.fd-login-submit i{transition:transform .3s cubic-bezier(.22,.9,.28,1);}
.fd-login-submit:hover i{transform:translateX(4px);}

.fd-login-divider{position:relative;margin:26px 0 16px;text-align:center;}
.fd-login-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--fd-line);}
.fd-login-divider span{position:relative;padding:0 12px;background:#fff;font-size:12px;
  font-weight:300;color:var(--fd-muted);}
.fd-login-secondary{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;
  border-radius:25px;border:1px solid rgba(18,49,42,.24);color:var(--fd-green-dark);
  font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;
  transition:background .25s ease,border-color .25s ease;}
.fd-login-secondary:hover{background:var(--fd-tint);border-color:var(--fd-green-mid);opacity:1;}
.fd-login-secondary i{transition:transform .3s cubic-bezier(.22,.9,.28,1);}
.fd-login-secondary:hover i{transform:translateX(4px);}
.fd-login-legal{margin:20px 0 0;font-size:12px;font-weight:300;line-height:1.6;color:#54655F;text-align:center;}
.fd-login-legal a{color:var(--fd-green-mid);}

/* entrada de la tarjeta */
[data-loginreveal]{animation:fdLoginIn .6s cubic-bezier(.22,.9,.28,1) both;}
[data-loginreveal] .fd-login-field,[data-loginreveal] .fd-login-row,
[data-loginreveal] .fd-login-submit,[data-loginreveal] .fd-login-divider,
[data-loginreveal] .fd-login-secondary{animation:fdLoginItemIn .55s cubic-bezier(.22,.9,.28,1) both;}
[data-loginreveal] .fd-login-field:nth-of-type(1){animation-delay:.16s;}
[data-loginreveal] .fd-login-field:nth-of-type(2){animation-delay:.22s;}
[data-loginreveal] .fd-login-row{animation-delay:.28s;}
[data-loginreveal] .fd-login-submit{animation-delay:.34s;}
[data-loginreveal] .fd-login-divider{animation-delay:.42s;}
[data-loginreveal] .fd-login-secondary{animation-delay:.47s;}
@keyframes fdLoginIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes fdLoginItemIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

/* panel del topbar: misma anatomía, más compacto */
.fd-panel-login{width:370px;padding:22px 22px 20px;}
.fd-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:16px;}
.fd-panel-login .fd-login-field input{height:52px;padding-top:20px;font-size:14px;}
.fd-panel-login .fd-login-submit{height:48px;margin-top:6px;}
.fd-panel-login .fd-panel-links{justify-content:center;}
.fd-panel-login .fd-panel-links a{color:var(--fd-green-mid);font-weight:500;}

@media (max-width:991.98px){
  .fd-login{padding:20px 16px 64px;}
  .fd-login-grid{grid-template-columns:1fr;min-height:0;border-radius:18px;}
  .fd-login-aside{min-height:230px;}
  .fd-login-aside-inner{padding:32px 24px 28px;gap:16px;}
  .fd-login-perks{display:none;}
  .fd-login-panel{padding:32px 22px 38px;}
  .fd-login-card{max-width:none;}
}
@media (prefers-reduced-motion:reduce){
  [data-loginreveal],[data-loginreveal] *,.fd-panel.is-open,.fd-panel.is-open *{animation-duration:.01ms !important;}
}


/* ============================================================
   LOGIN DE DNN — reviste el módulo Account Login nativo
   Engancha con el markup propio del módulo (.dnnLogin / el contenedor
   DnnModule-Authentication), así que /Login toma el diseño sin agregar
   ninguna clase a mano. .fd-login-dnn es el tercer gancho, por si el
   módulo se monta dentro del bloque de dnn-modules/login.html.
   ============================================================ */
.fd-login-scope{--x:0;}
.fd-login-dnn,.dnnLogin,.DnnModule-Authentication{font-family:var(--fd-font);}

.fd-login-dnn .dnnForm,
.dnnLogin .dnnForm,
.DnnModule-Authentication .dnnForm{max-width:none;margin:0;}

.fd-login-dnn .dnnFormItem,
.dnnLogin .dnnFormItem,
.DnnModule-Authentication .dnnFormItem{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}

.fd-login-dnn .dnnLabel,
.dnnLogin .dnnLabel,
.DnnModule-Authentication .dnnLabel{position:static;width:auto;float:none;text-align:left;margin:0;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--fd-green-mid);}

.fd-login-dnn input[type="text"],.fd-login-dnn input[type="password"],.fd-login-dnn input[type="email"],
.dnnLogin input[type="text"],.dnnLogin input[type="password"],.dnnLogin input[type="email"],
.DnnModule-Authentication input[type="text"],
.DnnModule-Authentication input[type="password"],
.DnnModule-Authentication input[type="email"]{
  width:100%;height:54px;padding:0 18px;border-radius:12px;border:1px solid #DCE8E4;
  background:#F8FBFA;outline:none;font-family:var(--fd-font);font-size:14.5px;color:var(--fd-ink);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;}

.fd-login-dnn input[type="text"]:focus,.fd-login-dnn input[type="password"]:focus,
.dnnLogin input[type="text"]:focus,.dnnLogin input[type="password"]:focus,
.DnnModule-Authentication input[type="text"]:focus,
.DnnModule-Authentication input[type="password"]:focus{
  border-color:var(--fd-green-mid);background:#fff;box-shadow:0 0 0 3px rgba(28,106,85,.12);}

.fd-login-dnn .dnnPrimaryAction,
.dnnLogin .dnnPrimaryAction,
.DnnModule-Authentication .dnnPrimaryAction{
  display:flex;align-items:center;justify-content:center;width:100%;height:54px;margin-top:8px;
  border:none;border-radius:27px;background:var(--fd-green-mid);color:#fff;cursor:pointer;
  font-family:var(--fd-font);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  transition:background .25s ease,transform .25s cubic-bezier(.22,.9,.28,1),box-shadow .25s ease;}
.fd-login-dnn .dnnPrimaryAction:hover,
.dnnLogin .dnnPrimaryAction:hover,
.DnnModule-Authentication .dnnPrimaryAction:hover{background:var(--fd-green-dark);
  transform:translateY(-2px);box-shadow:0 14px 26px rgba(18,49,42,.22);}

.fd-login-dnn .dnnSecondaryAction,
.dnnLogin .dnnSecondaryAction,
.DnnModule-Authentication .dnnSecondaryAction{
  display:flex;align-items:center;justify-content:center;width:100%;height:50px;margin-top:12px;
  border-radius:25px;border:1px solid rgba(18,49,42,.24);background:transparent;color:var(--fd-green-dark);
  font-family:var(--fd-font);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;}

.fd-login-dnn .dnnActions,
.dnnLogin .dnnActions,
.DnnModule-Authentication .dnnActions{display:flex;flex-direction:column;gap:0;padding:0;margin:0;list-style:none;}
.fd-login-dnn .dnnActions li,
.dnnLogin .dnnActions li,
.DnnModule-Authentication .dnnActions li{width:100%;}

.fd-login-dnn .dnnFormMessage,
.dnnLogin .dnnFormMessage,
.DnnModule-Authentication .dnnFormMessage{border-radius:10px;font-size:13px;font-weight:300;}


/* Formulario nativo ya reescrito por login-dnn.js: se apagan los restos
   del layout de DNN que el diseño propio reemplaza. */
.fd-login-rebuilt .dnnFormItem{display:block;margin-bottom:16px;}
.fd-login-rebuilt .dnnLabel,
.fd-login-rebuilt .dnnFormRequired,
.fd-login-rebuilt .dnnLoginRememberMe>label{display:none;}
.fd-login-rebuilt .fd-login-field{margin-bottom:16px;}
.fd-login-rebuilt .fd-login-field label{display:block;}
.fd-login-rebuilt .dnnActions{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none;}


/* ============================================================
   NEWSLETTER — sin depender de Bootstrap
   El bloque usaba .input-group y utilidades d-flex: si Bootstrap no
   carga (o DNN limpia las clases al guardar el módulo), el input y el
   botón vuelven a ser bloques y ocupan todo el ancho. Acá el layout se
   define con las clases fd-*, así que se ve igual con o sin Bootstrap.
   ============================================================ */
.fd-mod-newsletter{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;}
.fd-mod-newsletter-copy{margin-inline:auto;}
.fd-mod-newsletter-form{width:100%;max-width:430px;margin-inline:auto;}
.fd-mod-newsletter-group,
.fd-mod-newsletter-form>div{display:flex;flex-wrap:nowrap;align-items:stretch;width:100%;}
.fd-mod-newsletter-input{flex:1 1 auto;min-width:0;width:auto;height:56px;
  border-radius:28px 0 0 28px !important;border:1px solid #CFE0D9;border-right:0;
  padding:0 22px;background:#fff;color:var(--fd-green-dark);font-size:14px;font-weight:300;outline:none;}
.fd-mod-newsletter-input:focus{box-shadow:none;border-color:var(--fd-green-mid);}
.fd-mod-newsletter-btn{flex:0 0 auto;height:56px;padding:0 30px;border:none;cursor:pointer;
  border-radius:0 28px 28px 0 !important;background:var(--fd-green-dark);color:#fff;
  font-family:var(--fd-font);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  transition:background .25s ease;}
.fd-mod-newsletter-btn:hover{background:var(--fd-green-mid);color:#fff;}

@media (max-width:767.98px){
  .fd-mod-newsletter{padding:52px 20px 60px;}
  .fd-mod-newsletter-form{max-width:340px;}
  .fd-mod-newsletter-input{height:52px;padding:0 18px;font-size:13.5px;}
  .fd-mod-newsletter-btn{height:52px;padding:0 20px;font-size:11.5px;letter-spacing:.08em;}
}
@media (max-width:399.98px){
  /* recién acá conviene apilar, y aun apilado el grupo queda contenido */
  .fd-mod-newsletter-form{max-width:270px;}
  .fd-mod-newsletter-group,
  .fd-mod-newsletter-form>div{flex-direction:column;gap:10px;}
  .fd-mod-newsletter-input,.fd-mod-newsletter-btn{width:100%;border-radius:26px !important;}
  .fd-mod-newsletter-input{border-right:1px solid #CFE0D9;text-align:center;}
}


/* Salvaguarda: en DNN 9 el form de usuario/clave vive dentro de
   .dnnLoginService (el proveedor "DNN" es un service más). Ninguna regla
   del skin puede ocultar esos contenedores. */
.dnnLogin,.dnnLogin .dnnLoginService,.DnnModule-Authentication .dnnLoginService,
.fd-login-dnn .dnnLoginService{display:block !important;}
/* los botones de proveedores externos, si el portal los tuviera, sí se apagan */
.dnnLogin .dnnLoginService .dnnLoginServiceSocial{display:none;}


/* ============================================================
   POPUP DE INGRESO — el "Ingresar" del topbar, con el diseño del login
   ============================================================ */
.fd-loginmodal{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(15,38,32,.5);backdrop-filter:blur(4px);
  opacity:0;visibility:hidden;transition:opacity .34s ease,visibility .34s;}
.fd-loginmodal.is-open{opacity:1;visibility:visible;}
.fd-loginmodal-shell{position:relative;display:grid;grid-template-columns:.85fr 1fr;
  width:100%;max-width:760px;max-height:calc(100vh - 48px);overflow:hidden;
  background:#fff;border-radius:20px;box-shadow:0 40px 90px rgba(15,38,32,.32);
  transform:translateY(16px) scale(.97);opacity:0;
  transition:transform .45s cubic-bezier(.22,.9,.28,1),opacity .35s ease;}
.fd-loginmodal.is-open .fd-loginmodal-shell{transform:none;opacity:1;}

.fd-loginmodal-aside{position:relative;overflow:hidden;background:var(--fd-green-deep);color:#fff;
  display:flex;align-items:flex-end;min-height:320px;}
.fd-loginmodal-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.fd-loginmodal-aside::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(190deg,rgba(11,68,60,.22) 0%,rgba(11,40,34,.84) 74%);}
.fd-loginmodal-aside-inner{position:relative;z-index:2;padding:32px 28px 30px;display:flex;
  flex-direction:column;gap:12px;}
.fd-loginmodal-claim{font-size:26px;line-height:1.14;font-weight:200;letter-spacing:-.01em;text-transform:uppercase;}
.fd-loginmodal-claim b{font-weight:400;}

.fd-loginmodal-close{position:absolute;top:14px;right:14px;z-index:50;width:38px;height:38px;
  border:none;border-radius:19px;background:var(--fd-tint);color:var(--fd-green-dark);cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:15px;
  transition:background .22s ease,transform .28s cubic-bezier(.22,.9,.28,1);}
.fd-loginmodal-close:hover{background:#E2EDE8;}
.fd-loginmodal-close:active{transform:scale(.92);}

/* el panel existente, ya dentro del modal: deja de ser dropdown */
.fd-loginmodal-panel{position:static !important;z-index:auto !important;display:block !important;width:auto !important;
  border:none !important;border-radius:0 !important;box-shadow:none !important;
  padding:34px 32px 30px !important;overflow-y:auto;animation:none !important;}
.fd-loginmodal-panel .fd-panel-head{margin-bottom:18px;}
.fd-panel-head .fd-login-minor{flex:0 0 auto;white-space:nowrap;}
.fd-loginmodal-panel .fd-title{font-size:24px;font-weight:200;letter-spacing:-.005em;
  text-transform:uppercase;color:var(--fd-green);}
.fd-loginmodal.is-open .fd-loginmodal-panel [data-loginfield],
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-login-row,
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-login-submit,
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-panel-links{
  animation:fdPanelItemIn .5s cubic-bezier(.22,.9,.28,1) both;}
.fd-loginmodal.is-open .fd-loginmodal-panel [data-loginfield]:nth-of-type(1){animation-delay:.14s;}
.fd-loginmodal.is-open .fd-loginmodal-panel [data-loginfield]:nth-of-type(2){animation-delay:.2s;}
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-login-row{animation-delay:.26s;}
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-login-submit{animation-delay:.32s;}
.fd-loginmodal.is-open .fd-loginmodal-panel .fd-panel-links{animation-delay:.38s;}

@media (max-width:767.98px){
  .fd-loginmodal{padding:0;align-items:flex-end;}
  .fd-loginmodal-shell{grid-template-columns:1fr;max-width:none;border-radius:20px 20px 0 0;
    max-height:92vh;transform:translateY(100%);}
  .fd-loginmodal.is-open .fd-loginmodal-shell{transform:none;}
  .fd-loginmodal-aside{min-height:140px;}
  .fd-loginmodal-aside-inner{padding:22px 20px 18px;}
  .fd-loginmodal-claim{font-size:21px;}
  .fd-loginmodal-panel{padding:26px 20px 30px !important;}
}
@media (prefers-reduced-motion:reduce){
  .fd-loginmodal,.fd-loginmodal-shell,.fd-loginmodal *{transition-duration:.01ms !important;animation-duration:.01ms !important;}
}


/* Módulo Account Login ya montado dentro de la tarjeta del diseño */
.fd-login-mounted,
.fd-login-mounted .DnnModule,
.fd-login-mounted .dnnLogin{width:100%;max-width:none;margin:0;padding:0;background:transparent;border:0;box-shadow:none;}
.fd-login-mounted .Head,.fd-login-mounted .SubHead,
.fd-login-mounted .DnnModule-Header,.fd-login-mounted h2.title{display:none;}


/* ============================================================
   NEWSLETTER — refuerzo anti-DNN (default.css / portal.css)
   Escala reducida y ancho contenido. El <form> se reemplazó por
   un <div> porque DNN ya envuelve la página en un <form runat=server>
   y el navegador descarta los <form> anidados (perdíamos la clase).
   ============================================================ */
.fd-mod-newsletter-flag{padding:13px 56px !important;font-size:11.5px !important;letter-spacing:.16em !important;}
.fd-mod-newsletter{padding:52px 56px 60px !important;}
.fd-mod-newsletter .fd-mod-h2,
.fd-mod-newsletter h2.fd-mod-h2{font-size:28px !important;line-height:1.15 !important;font-weight:200 !important;margin:0 !important;}
.fd-mod-newsletter .fd-mod-newsletter-copy{font-size:14px !important;line-height:1.6 !important;max-width:440px !important;margin:0 auto !important;}
.fd-mod-newsletter .fd-mod-newsletter-form{width:100% !important;max-width:400px !important;margin:6px auto 0 !important;}
.fd-mod-newsletter .fd-mod-newsletter-group{display:flex !important;flex-wrap:nowrap !important;align-items:stretch !important;width:100% !important;}
.fd-mod-newsletter .fd-mod-newsletter-input{flex:1 1 auto !important;min-width:0 !important;width:auto !important;height:48px !important;font-size:13.5px !important;padding:0 20px !important;}
.fd-mod-newsletter .fd-mod-newsletter-btn{flex:0 0 auto !important;height:48px !important;padding:0 26px !important;font-size:11px !important;letter-spacing:.1em !important;}
@media (max-width:767.98px){
  .fd-mod-newsletter-flag{padding:12px 20px !important;font-size:10.5px !important;line-height:1.4 !important;}
  .fd-mod-newsletter{padding:38px 20px 46px !important;gap:10px !important;}
  .fd-mod-newsletter .fd-mod-h2,
  .fd-mod-newsletter h2.fd-mod-h2{font-size:21px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-copy{font-size:13px !important;max-width:320px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-form{max-width:320px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-input{height:46px !important;font-size:13px !important;padding:0 16px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-btn{height:46px !important;padding:0 18px !important;font-size:10.5px !important;}
}
@media (max-width:359.98px){
  .fd-mod-newsletter .fd-mod-newsletter-group{flex-direction:column !important;gap:9px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-input,
  .fd-mod-newsletter .fd-mod-newsletter-btn{width:100% !important;border-radius:24px !important;}
  .fd-mod-newsletter .fd-mod-newsletter-input{border-right:1px solid #CFE0D9 !important;text-align:center;}
}


/* ============================================================
   DIAGNÓSTICO — banner + consultorio impulsado por IA  (fd-modd-*)
   Módulos: dnn-modules/diag-01-banner.html / diag-02-consultorio.html
   JS: js/common.js + js/diag.js
   ============================================================ */
.fd-modd-hero,.fd-modd-section{--fd-h:#1C6A55;}

/* -- Banner -- */
.fd-modd-hero{position:relative;height:clamp(260px,26vw,420px);overflow:hidden;
  background:linear-gradient(120deg,#0E2B24 0%,#16584A 46%,#1F7A62 100%);}
.fd-modd-hero-bg{position:absolute;inset:-.5%;background-size:cover;background-position:center;opacity:.34;
  animation:fdHeroDrift 26s ease-in-out infinite;}
.fd-modd-hero-glow{position:absolute;border-radius:50%;filter:blur(46px);opacity:.5;animation:fdModdGlow 14s ease-in-out infinite;}
.fd-modd-hero-grid{position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse at 30% 50%,#000 10%,transparent 72%);}
.fd-modd-hero-inner{position:absolute;inset:0;display:flex;align-items:center;padding:0 56px;}
.fd-modd-hero-copy{position:relative;max-width:620px;color:#fff;}
.fd-modd-hero-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:7px 15px;border-radius:20px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:#fff;}
.fd-modd-hero-eyebrow i{animation:fdModdTwinkle 3.2s ease-in-out infinite;}
.fd-modd-hero-copy h1{margin:18px 0 0;font-size:clamp(28px,3.4vw,46px);line-height:1.06;font-weight:200;
  letter-spacing:-.02em;text-transform:uppercase;color:#fff;}
.fd-modd-hero-copy p{margin:14px 0 0;font-size:15px;line-height:1.65;font-weight:300;color:rgba(255,255,255,.88);max-width:480px;}

/* -- Sección del consultorio -- */
.fd-modd-section{padding:64px 56px 96px;background:linear-gradient(180deg,#F4F9F7 0%,#EDF4F1 100%);}
.fd-modd-head{max-width:620px;margin:0 auto 36px;text-align:center;}
.fd-modd-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;color:var(--fd-h);}
.fd-modd-h2{margin:12px 0 0;font-size:30px;font-weight:200;letter-spacing:-.01em;text-transform:uppercase;color:var(--fd-green-dark);}
.fd-modd-sub{margin:12px 0 0;font-size:14.5px;font-weight:300;line-height:1.7;color:#5B6B66;}

.fd-modd-card{position:relative;max-width:820px;margin:0 auto;background:#fff;border:1px solid #E1EDE8;
  border-radius:22px;padding:34px 38px 30px;box-shadow:0 18px 50px rgba(18,49,42,.08);overflow:hidden;}
.fd-modd-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,#1C6A55,#4FB79A,#1C6A55);background-size:220% 100%;animation:fdModdSheen 5.5s linear infinite;}

.fd-modd-bar{display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.fd-modd-dots{display:flex;gap:7px;flex:1 1 auto;}
.fd-modd-dot{height:4px;flex:1 1 0;border-radius:3px;background:#E1EDE8;transition:background .45s ease,transform .45s ease;}
.fd-modd-dot.is-on{background:var(--fd-h);}
.fd-modd-dot.is-now{transform:scaleY(1.6);}
.fd-modd-steplabel{flex:0 0 auto;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#8CA09A;}

.fd-modd-stage{position:relative;transition:height .48s cubic-bezier(.22,.84,.26,1);overflow:hidden;}
.fd-modd-step{display:none;}
.fd-modd-step.is-active{display:block;animation:fdModdStepIn .5s cubic-bezier(.22,.84,.26,1) both;}
.fd-modd-step.is-back.is-active{animation-name:fdModdStepInBack;}
.fd-modd-q{font-size:21px;font-weight:300;line-height:1.35;color:var(--fd-green-dark);}
.fd-modd-hint{margin:8px 0 20px;font-size:13px;font-weight:300;color:#8CA09A;}

.fd-modd-opts{display:flex;flex-wrap:wrap;gap:10px;}
.fd-modd-opt{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 18px;border-radius:24px;
  border:1px solid #E1EDE8;background:#FAFCFB;color:var(--fd-green-dark);font-size:14px;font-weight:300;
  cursor:pointer;user-select:none;transition:border-color .3s ease,background .3s ease,transform .3s cubic-bezier(.22,.84,.26,1),box-shadow .3s ease;}
.fd-modd-opt:hover{border-color:#B9D8CE;transform:translateY(-2px);box-shadow:0 8px 18px rgba(18,49,42,.07);}
.fd-modd-opt .fd-modd-tick{width:16px;height:16px;border-radius:50%;border:1px solid #CFE0D9;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;font-size:8px;color:#fff;transition:background .3s ease,border-color .3s ease,transform .3s ease;}
.fd-modd-opt .fd-modd-tick i{opacity:0;transform:scale(.4);transition:opacity .25s ease,transform .3s cubic-bezier(.22,.84,.26,1);}
.fd-modd-opt.is-on{border-color:var(--fd-h);background:#E6F3F0;box-shadow:inset 0 0 0 1px var(--fd-h);font-weight:400;}
.fd-modd-opt.is-on .fd-modd-tick{background:var(--fd-h);border-color:var(--fd-h);transform:scale(1.08);}
.fd-modd-opt.is-on .fd-modd-tick i{opacity:1;transform:scale(1);}

.fd-modd-textarea{width:100%;min-height:126px;border-radius:16px;border:1px solid #E1EDE8;background:#FAFCFB;
  padding:16px 18px;font-family:var(--fd-font);font-size:14.5px;font-weight:300;line-height:1.6;color:var(--fd-green-dark);
  outline:none;resize:vertical;transition:border-color .3s ease,box-shadow .3s ease,background .3s ease;}
.fd-modd-textarea:focus{border-color:var(--fd-h);background:#fff;box-shadow:0 0 0 4px rgba(28,106,85,.08);}
.fd-modd-count{margin-top:8px;font-size:11.5px;font-weight:300;color:#A9BAB4;text-align:right;}

.fd-modd-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;
  padding-top:22px;border-top:1px solid #EEF5F2;}
.fd-modd-back{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#8CA09A;
  cursor:pointer;background:none;border:0;padding:6px 2px;transition:opacity .3s ease,color .3s ease;}
.fd-modd-back:hover{color:var(--fd-green-dark);}
.fd-modd-go{position:relative;height:50px;padding:0 30px;border:0;border-radius:25px;background:var(--fd-green-deep,#12312A);
  color:#fff;font-family:var(--fd-font);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  cursor:pointer;display:inline-flex;align-items:center;gap:10px;overflow:hidden;
  transition:background .3s ease,transform .3s cubic-bezier(.22,.84,.26,1),box-shadow .3s ease,opacity .3s ease;}
.fd-modd-go:hover{background:var(--fd-green-mid);transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,49,42,.22);}
.fd-modd-go[disabled]{opacity:.34;pointer-events:none;}
.fd-modd-go span.fd-modd-arrow{transition:transform .35s cubic-bezier(.22,.84,.26,1);}
.fd-modd-go:hover span.fd-modd-arrow{transform:translateX(4px);}

/* -- Estado "pensando" -- */
.fd-modd-thinking{display:flex;flex-direction:column;gap:14px;}
.fd-modd-thinking-label{display:flex;align-items:center;gap:10px;font-size:11.5px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:500;color:var(--fd-h);}
.fd-modd-thinking-label i{animation:fdModdTwinkle 1.3s ease-in-out infinite;}
.fd-modd-skel{height:13px;border-radius:7px;background:linear-gradient(90deg,#EDF4F1 0%,#DDEBE6 40%,#EDF4F1 80%);
  background-size:220% 100%;animation:fdModdSkel 1.25s linear infinite;}

/* -- Resultado -- */
.fd-modd-result{animation:fdModdStepIn .55s cubic-bezier(.22,.84,.26,1) both;}
.fd-modd-diag{font-size:21px;font-weight:300;line-height:1.5;color:var(--fd-green-dark);}
.fd-modd-linea{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 15px;border-radius:18px;
  background:#E6F3F0;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:var(--fd-h);}
.fd-modd-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;}
.fd-modd-coltitle{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:500;color:var(--fd-green-dark);margin-bottom:12px;}
.fd-modd-stepcard{padding:15px 17px;border-radius:14px;background:#FAFCFB;border:1px solid #E7F1ED;margin-bottom:9px;
  opacity:0;transform:translateY(16px);animation:fdModdCardIn .5s cubic-bezier(.22,.84,.26,1) forwards;
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;}
.fd-modd-stepcard:hover{border-color:#C6E0D7;transform:translateY(-2px);box-shadow:0 10px 22px rgba(18,49,42,.07);}
.fd-modd-stepcard-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;}
.fd-modd-stepcard-n{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#93A6A0;}
.fd-modd-stepcard-line{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fd-h);}
.fd-modd-stepcard-name{font-size:15px;font-weight:400;color:var(--fd-green-dark);margin-top:7px;line-height:1.35;}
.fd-modd-stepcard-why{font-size:12.5px;font-weight:300;color:#5B6B66;margin-top:5px;line-height:1.6;}
.fd-modd-tip{margin-top:22px;padding:16px 18px;border-radius:14px;background:#E6F3F0;font-size:13.5px;
  font-weight:300;color:#4C5F5A;line-height:1.65;}
.fd-modd-tip strong{font-weight:500;color:var(--fd-green-dark);}
.fd-modd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;}
.fd-modd-cta{height:50px;padding:0 28px;display:inline-flex;align-items:center;gap:9px;border-radius:25px;
  background:var(--fd-green-deep,#12312A);color:#fff;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:500;text-decoration:none;transition:background .3s ease,transform .3s ease,box-shadow .3s ease;}
.fd-modd-cta:hover{background:var(--fd-green-mid);color:#fff;transform:translateY(-2px);box-shadow:0 12px 26px rgba(18,49,42,.22);}
.fd-modd-reset{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#8CA09A;
  cursor:pointer;background:none;border:0;border-bottom:1px solid #DCE9E4;padding-bottom:3px;transition:color .3s ease,border-color .3s ease;}
.fd-modd-reset:hover{color:var(--fd-green-dark);border-color:var(--fd-h);}
.fd-modd-note{max-width:820px;margin:20px auto 0;font-size:11.5px;font-weight:300;line-height:1.7;color:#93A6A0;text-align:center;}

@keyframes fdModdStepIn{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes fdModdStepInBack{from{opacity:0;transform:translateY(-18px);}to{opacity:1;transform:none;}}
@keyframes fdModdCardIn{to{opacity:1;transform:none;}}
@keyframes fdModdSkel{from{background-position:120% 0;}to{background-position:-120% 0;}}
@keyframes fdModdSheen{from{background-position:0 0;}to{background-position:220% 0;}}
@keyframes fdModdTwinkle{0%,100%{opacity:1;}50%{opacity:.3;}}
@keyframes fdModdGlow{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(24px,-18px,0) scale(1.14);}}

@media (max-width:991.98px){
  .fd-modd-hero-inner{padding:0 24px;}
  .fd-modd-section{padding:48px 24px 72px;}
  .fd-modd-card{padding:26px 22px 24px;border-radius:18px;}
  .fd-modd-cols{grid-template-columns:1fr;gap:14px;}
}
@media (max-width:575.98px){
  .fd-modd-hero{height:clamp(240px,58vw,320px);}
  .fd-modd-h2{font-size:23px;}
  .fd-modd-q{font-size:18px;}
  .fd-modd-diag{font-size:18px;}
  .fd-modd-opt{min-height:44px;font-size:13.5px;padding:0 15px;}
  .fd-modd-foot{flex-direction:row-reverse;justify-content:space-between;}
  .fd-modd-go{flex:1 1 auto;justify-content:center;padding:0 18px;}
  .fd-modd-actions .fd-modd-cta{flex:1 1 auto;justify-content:center;}
}
@media (prefers-reduced-motion:reduce){
  .fd-modd-step.is-active,.fd-modd-result,.fd-modd-stepcard{animation:none !important;opacity:1;transform:none;}
  .fd-modd-hero-glow,.fd-modd-card::before,.fd-modd-hero-bg{animation:none !important;}
}



/* ============================================================
   PRODUCT PEEK — la caja del producto se expande en su lugar
   y recorre la foto con zoom (automático o con el dedo).
   JS: js/peek.js     Marcado: el mismo [data-zoomcard] del grid
   ============================================================ */
html.fd-peek-on [data-zoomcard]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;}
html.fd-peek-on [data-zoomcard] img{-webkit-user-drag:none;pointer-events:none;}
html.fd-peek-open{overflow:hidden !important;}

.fd-peek-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:4;width:max-content;
  max-width:calc(100% - 24px);display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:15px;
  background:rgba(255,255,255,.92);color:var(--fd-green-dark);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;font-weight:500;pointer-events:none;transition:opacity .3s ease;}
[data-zoomcard].is-peeking .fd-peek-hint{opacity:0;}
[data-zoomcard].is-peeking img{opacity:0;transition:opacity .2s ease;}
[data-zoomcard].is-peeking{background:#F6FAF8;}

/* Velo suave: solo para poder cerrar tocando afuera. La pantalla no se ocupa entera. */
.fd-peek{position:fixed;inset:0;z-index:1200;opacity:0;transition:opacity .4s ease;
  background:rgba(10,30,25,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.fd-peek.is-open{opacity:1;}

.fd-peek-box{position:fixed;z-index:2;display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid rgba(22,120,106,.18);border-radius:18px;box-shadow:0 26px 60px rgba(8,30,24,.34);
  will-change:top,left,width,height;
  transition:top .58s cubic-bezier(.22,.84,.26,1),left .58s cubic-bezier(.22,.84,.26,1),
             width .58s cubic-bezier(.22,.84,.26,1),height .58s cubic-bezier(.22,.84,.26,1),
             border-radius .58s ease,box-shadow .58s ease;}

.fd-peek-media{position:relative;flex:1 1 auto;overflow:hidden;background:#fff;}
.fd-peek-media img{position:absolute;left:50%;top:50%;width:100%;height:100%;object-fit:contain;
  transform-origin:50% 50%;will-change:transform;}
.fd-peek-media.is-dragging img{transition:none;}

.fd-peek-badge{position:absolute;left:12px;bottom:12px;z-index:3;display:inline-flex;align-items:center;gap:7px;
  padding:6px 12px;border-radius:14px;background:rgba(255,255,255,.92);color:var(--fd-green-dark);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:500;pointer-events:none;
  transition:opacity .3s ease;box-shadow:0 4px 12px rgba(18,49,42,.1);}
.fd-peek-badge i{animation:fdPeekPulse 2.4s ease-in-out infinite;}
.fd-peek-zoom{position:absolute;right:12px;bottom:12px;z-index:3;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(22,120,106,.22);background:rgba(255,255,255,.94);color:var(--fd-green-dark);font-size:13px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(18,49,42,.12);
  transition:transform .3s ease,background .3s ease;}
.fd-peek-zoom:active{transform:scale(.92);}
.fd-peek-close{position:absolute;top:10px;right:10px;z-index:4;width:36px;height:36px;border-radius:50%;
  border:1px solid rgba(22,120,106,.18);background:rgba(255,255,255,.94);color:var(--fd-green-dark);font-size:13px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 12px rgba(18,49,42,.12);
  opacity:0;transition:opacity .3s ease .18s,transform .3s ease;}
.fd-peek.is-open .fd-peek-close{opacity:1;}
.fd-peek-close:active{transform:scale(.92);}

.fd-peek-foot{flex:0 0 auto;padding:14px 16px 16px;border-top:1px solid #EEF5F2;background:#fff;
  opacity:0;transform:translateY(10px);transition:opacity .34s ease .16s,transform .44s cubic-bezier(.22,.84,.26,1) .16s;}
.fd-peek.is-open .fd-peek-foot{opacity:1;transform:none;}
.fd-peek-line{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--fd-green-mid);}
.fd-peek-name{margin-top:5px;font-size:16px;font-weight:300;line-height:1.3;color:var(--fd-green-dark);}
.fd-peek-ctas{display:flex;gap:9px;margin-top:12px;}
.fd-peek-btn{flex:1 1 0;min-width:0;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border-radius:22px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;text-decoration:none;
  text-align:center;transition:transform .3s cubic-bezier(.22,.84,.26,1),background .3s ease,color .3s ease;}
.fd-peek-btn:active{transform:scale(.97);}
.fd-peek-btn-primary{background:var(--fd-green-deep,#12312A);color:#fff;}
.fd-peek-btn-primary:hover,.fd-peek-btn-primary:focus{background:var(--fd-green-mid);color:#fff;}
.fd-peek-btn-ghost{background:#fff;border:1px solid rgba(22,120,106,.35);color:var(--fd-green-dark);}
.fd-peek-btn-ghost:hover,.fd-peek-btn-ghost:focus{color:var(--fd-green-dark);}

@keyframes fdPeekPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@media (prefers-reduced-motion:reduce){
  .fd-peek-box,.fd-peek-foot{transition-duration:.01s !important;}
  .fd-peek-badge i{animation:none;}
}


/* ============================================================
   NUESTRAS LÍNEAS — legibilidad sobre foto + estado contraído
   ============================================================ */
/* Difuminado permanente desde abajo (antes solo aparecía en la activa):
   el color se puede invertir por tarjeta con --fd-scrim-rgb (p. ej. la de
   Solar, que lleva tinta oscura sobre foto clara). */
.fd-mod-linecard-scrim{opacity:1;
  background:linear-gradient(180deg,
    rgba(var(--fd-scrim-rgb,0,0,0),0) 26%,
    rgba(var(--fd-scrim-rgb,0,0,0),.30) 58%,
    rgba(var(--fd-scrim-rgb,0,0,0),.62) 100%);
  transition:opacity .35s ease,background .35s ease;}
.fd-mod-linecard.is-active .fd-mod-linecard-scrim{
  background:linear-gradient(180deg,
    rgba(var(--fd-scrim-rgb,0,0,0),0) 14%,
    rgba(var(--fd-scrim-rgb,0,0,0),.42) 48%,
    rgba(var(--fd-scrim-rgb,0,0,0),.74) 100%);}
.fd-mod-line-name,.fd-mod-line-sub,.fd-mod-line-hint,.fd-mod-line-detail p{
  text-shadow:var(--fd-ink-shadow,0 1px 16px rgba(0,0,0,.42));}

@media (min-width:992px){
  /* Con una línea expandida, las demás quedan angostas: en vez de recortar
     "Descubrir más", queda solo el + como pista, centrado y sin regla. */
  .fd-mod-line-hint{transition:opacity .3s ease,font-size .35s ease,gap .35s ease,
    padding-top .35s ease,margin-top .35s ease,border-color .35s ease;}
  .fd-mod-line-hint span{transition:width .35s cubic-bezier(.22,.84,.26,1),
    height .35s cubic-bezier(.22,.84,.26,1),background .35s ease,border-radius .35s ease;}
  .fd-mod-linecard.is-other .fd-mod-line-name{font-size:17px;}
  .fd-mod-linecard.is-other .fd-mod-line-sub{opacity:0;max-height:0;margin-top:0;overflow:hidden;
    transition:opacity .25s ease,max-height .35s ease,margin-top .35s ease;}
  .fd-mod-linecard.is-other .fd-mod-line-hint{font-size:0;letter-spacing:0;gap:0;
    margin-top:14px;padding-top:0;border-top-color:transparent;}
  .fd-mod-linecard.is-other .fd-mod-line-hint span{width:32px;height:32px;border-radius:50%;
    font-size:14px;background:rgba(255,255,255,.16);backdrop-filter:blur(2px);}
}


/* ============================================================
   LOGIN NATIVO — Login.ascx con el diseño Fisioderm
   (/DesktopModules/AuthenticationServices/DNN/Login.ascx)
   El markup lo rinde ASP.NET, así que acá se estilan las
   estructuras que generan asp:textbox, asp:checkbox y
   asp:LinkButton, sin mover ningún nodo.
   ============================================================ */
.fd-login-native{display:flex;flex-direction:column;gap:14px;width:100%;max-width:none;
  margin:0;padding:0;background:none;border:0;}
.fd-login-native .fd-login-field{position:relative;}
.fd-login-native .fd-login-field input{width:100%;height:56px;border-radius:14px;
  border:1px solid var(--fd-line);background:#FBFDFC;padding:22px 46px 8px 18px;
  font-family:var(--fd-font);font-size:14.5px;font-weight:300;color:var(--fd-green-dark);
  outline:none;transition:border-color .28s ease,box-shadow .28s ease,background .28s ease;}
.fd-login-native .fd-login-field input:focus{border-color:var(--fd-green-mid);background:#fff;
  box-shadow:0 0 0 4px rgba(28,106,85,.08);}
.fd-login-native .fd-login-floating{position:absolute;left:19px;top:18px;margin:0;padding:0;
  font-size:14px;font-weight:300;color:var(--fd-muted);pointer-events:none;
  transition:top .22s ease,font-size .22s ease,color .22s ease,letter-spacing .22s ease;}
.fd-login-native .fd-login-field input:focus + .fd-login-floating,
.fd-login-native .fd-login-field input:not(:placeholder-shown) + .fd-login-floating{
  top:9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fd-green-mid);}
.fd-login-native .fd-login-field-icon,.fd-login-native .fd-login-eye{position:absolute;right:8px;
  top:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;
  justify-content:center;color:var(--fd-muted);font-size:14px;}
.fd-login-native .fd-login-eye{border:0;background:none;border-radius:50%;cursor:pointer;
  transition:color .25s ease,background .25s ease;}
.fd-login-native .fd-login-eye:hover{color:var(--fd-green-mid);background:rgba(28,106,85,.07);}
.fd-login-native .fd-login-field-icon{pointer-events:none;}

/* Etiquetas que DNN necesita pero el diseño no muestra */
.fd-login-native .fd-login-sr,.fd-login-native .fd-login-hidden{position:absolute;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

.fd-login-native .fd-login-row{display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;margin-top:2px;}
.fd-login-native .fd-login-check label{display:inline-flex;align-items:center;gap:9px;
  font-size:13px;font-weight:300;color:var(--fd-green-dark);cursor:pointer;margin:0;}
.fd-login-native .fd-login-check input[type="checkbox"]{appearance:none;-webkit-appearance:none;
  width:19px;height:19px;flex:0 0 auto;border-radius:6px;border:1px solid #CFE0D9;background:#fff;
  cursor:pointer;position:relative;transition:background .25s ease,border-color .25s ease;}
.fd-login-native .fd-login-check input[type="checkbox"]:checked{background:var(--fd-green-mid);
  border-color:var(--fd-green-mid);}
.fd-login-native .fd-login-check input[type="checkbox"]:checked::after{content:"";position:absolute;
  left:5px;top:2px;width:6px;height:11px;border:2px solid #fff;border-top:0;border-left:0;
  transform:rotate(42deg);}

.fd-login-native .fd-login-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px;}
.fd-login-native .fd-login-submit{height:54px;border-radius:27px;background:var(--fd-green-mid);
  color:#fff;display:flex;align-items:center;justify-content:center;gap:11px;text-decoration:none;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  transition:background .3s ease,transform .3s cubic-bezier(.22,.84,.26,1),box-shadow .3s ease;}
.fd-login-native .fd-login-submit:hover{background:var(--fd-green-dark);color:#fff;
  transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,49,42,.22);}
.fd-login-native .fd-login-submit.dnnDisabledAction{opacity:.55;pointer-events:none;}
.fd-login-native .fd-login-cancel{align-self:center;}

.fd-login-native .fd-login-foot{display:flex;flex-direction:column;}
.fd-login-native .fd-login-register{display:flex;flex-direction:column;gap:14px;}
.fd-login-native .fd-login-captcha{display:flex;justify-content:center;padding:4px 0;}

/* Mensajes de error de DNN dentro de la tarjeta */
.fd-login-native .dnnFormMessage,.fd-login-card .dnnFormMessage{border-radius:12px;font-size:13px;
  font-weight:300;line-height:1.55;padding:12px 15px;margin:0;}


/* El Account Login "de todas las páginas" no se muestra en su pane: lo aloja
   el popup del header (login-dnn.js lo mueve ahí). Se oculta el pane que
   quedó vacío, no el módulo. */
.fd-dnn-pane:has(> .DnnModule-Authentication):not(:has(.fd-login-mounted)){display:none;}
.fd-panel-login-real{min-width:330px;}
.fd-panel-login-real .fd-login-native{gap:12px;}
.fd-panel-login-real .fd-login-native .fd-login-field input{height:52px;}
.fd-panel-login-real .fd-login-native .fd-login-submit{height:48px;}


/* ---- Popup de login sin módulo en la página: acceso a /ingresar ---- */
.fd-login-fallback{display:flex;flex-direction:column;gap:14px;}
.fd-login-fallback-copy{margin:0;font-size:13.5px;font-weight:300;line-height:1.6;color:var(--fd-muted);}
.fd-login-fallback .fd-login-submit{height:50px;border-radius:25px;background:var(--fd-green-mid);
  color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  transition:background .3s ease,transform .3s cubic-bezier(.22,.84,.26,1),box-shadow .3s ease;}
.fd-login-fallback .fd-login-submit:hover{background:var(--fd-green-dark);color:#fff;
  transform:translateY(-2px);box-shadow:0 14px 28px rgba(18,49,42,.22);}

/* ---- Panel "Mi cuenta" (sesión abierta) ---- */
.fd-session{display:none;}
.fd-panel-account{min-width:250px;}
.fd-panel-account .fd-title{margin-bottom:6px;}
.fd-account-item{display:flex;align-items:center;gap:11px;min-height:44px;padding:8px 4px;
  font-size:13.5px;font-weight:300;color:var(--fd-green-dark);text-decoration:none;
  border-bottom:1px solid var(--fd-line);transition:padding-left .25s ease,color .25s ease;}
.fd-account-item:last-child{border-bottom:0;}
.fd-account-item i{width:16px;text-align:center;color:var(--fd-green-mid);font-size:13px;}
.fd-account-item:hover{padding-left:9px;color:var(--fd-green-mid);}
.fd-account-out{color:#9A5B52;}
.fd-account-out i{color:#9A5B52;}
.fd-account-out:hover{color:#7E443C;}


/* ---- Panel "Mi cuenta" ---- */
.fd-panel-account{min-width:288px;padding:0;overflow:hidden;}
.fd-account-head{display:flex;align-items:center;gap:12px;padding:16px 18px;
  background:linear-gradient(135deg,var(--fd-green-deep) 0%,var(--fd-green-mid) 100%);}
.fd-account-avatar{flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;letter-spacing:.04em;}
.fd-account-id{display:flex;flex-direction:column;min-width:0;}
.fd-account-hello{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.fd-account-name{font-size:15px;font-weight:400;color:#fff;margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fd-account-list{padding:6px 8px;}
.fd-panel-account .fd-account-item{display:flex;align-items:center;gap:12px;padding:11px 10px;
  border-radius:12px;border:0;text-decoration:none;color:var(--fd-green-dark);
  transition:background .25s ease,transform .25s cubic-bezier(.22,.84,.26,1);}
.fd-panel-account .fd-account-item:hover{background:#F1F7F5;transform:translateX(2px);color:var(--fd-green-dark);}
.fd-panel-account .fd-account-item > i:first-child{width:18px;text-align:center;
  color:var(--fd-green-mid);font-size:14px;}
.fd-account-item-txt{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;}
.fd-account-item-txt b{font-size:13.5px;font-weight:400;}
.fd-account-item-txt small{font-size:11px;font-weight:300;color:var(--fd-muted);margin-top:1px;}
.fd-account-chev{font-size:10px;color:#C3D5CE;transition:transform .25s ease,color .25s ease;}
.fd-panel-account .fd-account-item:hover .fd-account-chev{color:var(--fd-green-mid);transform:translateX(2px);}
.fd-panel-account .fd-account-out{display:flex;align-items:center;gap:10px;padding:13px 18px;
  border-top:1px solid var(--fd-line);background:#FBFDFC;text-decoration:none;
  font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:#9A5B52;
  transition:background .25s ease,color .25s ease;}
.fd-panel-account .fd-account-out:hover{background:#F6EDEB;color:#7E443C;}
.fd-panel-account .fd-account-out i{font-size:12px;color:#9A5B52;}

/* ---- Popup de login: el módulo de DNN no debe desbordar ---- */
.fd-loginmodal-panel{overflow:hidden;}
.fd-loginmodal-panel .fd-login-mounted,
.fd-loginmodal-panel .fd-login-native,
.fd-loginmodal-panel [id$="_UP"],
.fd-loginmodal-panel [id$="_ModuleContent"],
.fd-loginmodal-panel .dnnForm{width:100% !important;max-width:100% !important;min-width:0 !important;
  margin:0 !important;overflow:visible !important;}
.fd-loginmodal-panel .fd-login-native *{max-width:100%;box-sizing:border-box;}
.fd-loginmodal-panel .fd-login-native input[type="text"],
.fd-loginmodal-panel .fd-login-native input[type="password"]{width:100% !important;}
/* Links de DNN dentro del diseño: nunca azul de navegador */
.fd-login-native a,.fd-panel-login a,.fd-login-card a{color:var(--fd-green-mid);}
.fd-login-native a:hover,.fd-panel-login a:hover,.fd-login-card a:hover{color:var(--fd-green-dark);}
.fd-login-native .fd-login-submit,.fd-login-native .fd-login-submit:hover{color:#fff;}


/* ============================================================
   AJUSTES HOME — revisión set. 2026
   Orden real de la home: hero · líneas · productos · credenciales
   · misión · newsletter. Ritmo vertical parejo entre módulos
   (72px entre bloques blancos, 96px en los extremos).
   ============================================================ */

/* Botón "Comprar online" del header: gris institucional fijo,
   sin virar a verde en hover, y un punto más chico. */
.fd-nav .fd-btn-dark,
.fd-nav .fd-btn-dark:hover,
.fd-nav .fd-btn-dark:focus,
.fd-nav .fd-btn-dark:active{background:#565F5F !important;color:#fff !important;}
.fd-nav .fd-btn-dark{height:42px;padding:0 20px;font-size:11px;letter-spacing:.1em;border-radius:21px;gap:7px;}
@media (max-width:991.98px){
  .fd-nav .fd-btn-dark{height:38px;padding:0 14px;font-size:10.5px;}
  .fd-nav .fd-btn-dark span{display:none;}
}

/* Carrusel de productos: descripción breve bajo el nombre. */
.fd-mod-prod-desc{font-size:12.5px;font-weight:300;line-height:1.5;color:var(--fd-muted);}
.fd-mod-prod-cta{margin-top:12px !important;}

/* Misión: las fotos 3 y 4 se separan de la fila de arriba para que
   se lea a qué título corresponde cada una. */
@media (min-width:992px){
  .fd-mod-accordion>.fd-mod-acc-item:nth-child(n+3){margin-top:36px;}
}

@media (max-width:767.98px){
  .fd-mod-mission{padding:64px 20px;}
}


/* ============================================================
   AJUSTES HUB DE LÍNEA — revisión set. 2026
   ============================================================ */

/* Breadcrumb: más aire y separador propio (el skin de DNN arma la
   cadena completa Inicio / <línea> desde ActiveTab.BreadCrumbs). */
.fd-breadcrumb{padding:26px 56px 26px !important;}
.fd-breadcrumb-sep{opacity:.45;}
@media (max-width:991.98px){.fd-breadcrumb{padding:20px 24px !important;}}

/* Hero de línea: la caja de texto lleva el color de LA LÍNEA (único
   lugar donde aparece), no el gris que ya usa Lifting+. Cada hub
   define --fd-line-color en el <section>:
     Hydra Termal 7  #3B9679   ·  Radiant C+   #1C6A55
     Aqua Termal     #57A8C4   ·  Lifting +    #565F5F
     Solar           #E87200
   Fondo de la foto en gris claro, encuadre a la derecha para no
   recortar los productos. */
.fd-hub-hero,.fd-modh-hero{background:#EDEEEE;min-height: 440PX;}
.fd-hub-hero-bg,.fd-modh-hero-bg{background-position:bottom center;background-repeat:no-repeat;}
.fd-hub-hero-copy,.fd-modh-hero-copy{
  background:var(--fd-line-color,var(--fd-green)) !important;
  backdrop-filter:none !important;border-radius:8px;padding:30px 38px;gap:14px;}
.fd-hub-hero-copy p,.fd-modh-hero-copy p{color:#fff;}

/* Descubrí otras líneas: foto real de la línea, con el efecto de
   textura por encima en modo suave para que el producto se vea. */
.fd-other-line-photo,.fd-modh-other-line-photo{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.7,.3,1);}
.fd-other-line:hover .fd-other-line-photo,
.fd-modh-other-line:hover .fd-modh-other-line-photo{transform:scale(1.06);}
.fd-other-line canvas,.fd-modh-other-line canvas{opacity:.42;mix-blend-mode:soft-light;}
.fd-other-line-scrim,.fd-modh-other-line-scrim{
  background:linear-gradient(180deg,rgba(15,38,32,0) 40%,rgba(15,38,32,.78) 100%);}


/* ============================================================
   AJUSTES FICHA DE PRODUCTO — revisión set. 2026
   ============================================================ */

/* Verde institucional de la línea. Cada ficha usa el suyo:
   basta cambiar estas variables en el bloque de acento. */
.fd-accent-green{
  --fd-accent:#379A87;
  --fd-accent-dark:#2A7A6B;
  --fd-accent-tint:rgba(55,154,135,.12);
  --fd-accent-flip:#DCEDE8;
  --fd-accent-border:rgba(55,154,135,.45);
  --fd-accent-soft:rgba(55,154,135,.22);
}

/* Galería: sin zoom (mareaba) y con las miniaturas + flechas
   enmarcadas DENTRO de la imagen principal. */
.fd-gallery-main{cursor:default;padding-bottom:0;}
.fd-gallery-main img[data-mediamain],
.fd-gallery-main img[data-mediaghost]{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;background:#fff;
  transition:opacity .58s cubic-bezier(.4,0,.2,1),transform .58s cubic-bezier(.4,0,.2,1);}
.fd-gallery-main img[data-mediaghost]{z-index:2;pointer-events:none;}
.fd-media-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:38px;height:38px;border-radius:19px;background:rgba(255,255,255,.94);
  border:1px solid var(--fd-accent-border,rgba(22,120,106,.25));
  box-shadow:0 8px 20px rgba(18,49,42,.16);color:var(--fd-accent,var(--fd-green-dark));
  display:flex;align-items:center;justify-content:center;font-size:13px;cursor:pointer;
  transition:background .2s ease;}
.fd-media-nav:hover{background:#fff;}
.fd-media-nav.is-prev{left:14px;right:auto;}
.fd-media-nav.is-next{right:14px;left:auto;}
.fd-media-strip{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:14px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.92) 45%,#fff 100%);}
.fd-media-strip .fd-media-track{gap:10px;}
.fd-media-strip .fd-media-thumb img{position:static;inset:auto;width:100%;height:100%;object-fit:contain;}
.fd-media-strip .fd-media-thumb{flex:0 0 64px;height:64px;background:#fff;
  border:1.5px solid rgba(18,49,42,.14);border-radius:10px;}
.fd-media-thumb.is-active{border-color:var(--fd-accent,var(--fd-green-mid));}

/* Resultados del CED: tarjeta sólida, sin la textura por detrás. */
.fd-texture>canvas{opacity:.10 !important;}
.fd-stats-title{position:relative;margin-bottom:18px;font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fd-accent,var(--fd-green-mid));}
.fd-stats{position:relative;z-index:1;background:#fff !important;
  border:1px solid rgba(18,49,42,.14);box-shadow:0 12px 30px rgba(18,49,42,.08);}
.fd-stat{background:#fff !important;}
.fd-stat-label{color:var(--fd-ink);}
.fd-texture-note{color:#5B6B66;}

/* Modo de uso: el badge toma el verde de la línea. */
.fd-uso-badge.is-accent{background:var(--fd-accent-tint);color:var(--fd-accent);}

/* Rutina completa */
.fd-rutina{padding:90px 56px;background:#fff;}
.fd-rutina-sub{max-width:620px;font-size:14.5px;font-weight:300;color:var(--fd-muted);margin-bottom:40px;}
.fd-rutina-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.fd-rutina-step{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 22px 28px;
  border:1px solid rgba(18,49,42,.14);border-radius:18px;background:#fff;}
.fd-rutina-step.is-current{border-color:var(--fd-accent-border);background:var(--fd-accent-tint);}
.fd-rutina-num{font-size:11px;letter-spacing:.2em;font-weight:600;color:var(--fd-accent);}
.fd-rutina-media{height:210px;display:flex;align-items:center;justify-content:center;}
.fd-rutina-media img{max-width:100%;max-height:100%;object-fit:contain;}
.fd-rutina-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--fd-muted);}
.fd-rutina-name{font-size:16px;font-weight:400;color:var(--fd-ink);line-height:1.35;}
/* Descripción: máximo 2 líneas */
.fd-rutina-step p {
  font-size: 13px;
  font-weight: 300;
  color: var(--fd-body);
  line-height: 1.6;
  margin: 0;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;

  /* Reservar siempre el espacio de 2 líneas */
  height: 3.2em;
}
/* Botón VER MÁS siempre alineado abajo */
.fd-rutina-step > .fd-mod-prod-cta {
  margin-top: auto !important;
  flex-shrink: 0;
}
@media (max-width:991.98px){
  .fd-rutina{padding:64px 24px;}
  .fd-rutina-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
  .fd-rutina-grid{grid-template-columns:1fr;}
  .fd-media-strip .fd-media-thumb{flex:0 0 54px;height:54px;}
}


/* ---- Equivalentes de la ficha para los módulos DNN (fd-modp-*) ---- */
.fd-modp-gallery-main{cursor:default;background:#fff !important;}
.fd-modp-gallery-main img[data-mediamain],
.fd-modp-gallery-main img[data-mediaghost]{position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;background:#fff;
  transition:opacity .58s cubic-bezier(.4,0,.2,1),transform .58s cubic-bezier(.4,0,.2,1);}
.fd-modp-gallery-main img[data-mediaghost]{z-index:2;pointer-events:none;}
.fd-modp-media-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;
  width:38px;height:38px;border-radius:19px;background:rgba(255,255,255,.94);
  border:1px solid var(--fd-accent-border,rgba(22,120,106,.25));
  box-shadow:0 8px 20px rgba(18,49,42,.16);color:var(--fd-accent,var(--fd-green-dark));font-size:13px;}
.fd-modp-media-nav.is-prev{left:14px;right:auto;}
.fd-modp-media-nav.is-next{right:14px;left:auto;}
.fd-modp-media-strip{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:14px 16px;
  background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.92) 45%,#fff 100%);}
.fd-modp-media-strip .fd-modp-media-track{gap:10px;}
.fd-modp-media-strip .fd-modp-media-thumb{flex:0 0 64px;height:64px;padding:0;background:#fff;
  border:1.5px solid rgba(18,49,42,.14);border-radius:10px;overflow:hidden;}
.fd-modp-media-strip .fd-modp-media-thumb img{position:static;inset:auto;width:100%;height:100%;object-fit:contain;}
.fd-modp-media-thumb.is-active{border-color:var(--fd-accent,var(--fd-green-mid));}

.fd-modp-eficacia-canvas{opacity:.10 !important;}
.fd-modp-stats-title{position:relative;margin-bottom:18px;font-size:13px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fd-accent,var(--fd-green-mid));}
.fd-modp-stats{position:relative;z-index:1;background:#fff !important;
  border:1px solid rgba(18,49,42,.14);box-shadow:0 12px 30px rgba(18,49,42,.08);}
.fd-modp-stat{background:#fff !important;}

.fd-modp-uso-badge.is-accent{background:var(--fd-accent-tint);color:var(--fd-accent);}

.fd-modp-rutina{padding:90px 56px;background:#fff;}
.fd-modp-rutina-sub{max-width:620px;font-size:14.5px;font-weight:300;color:var(--fd-muted);margin-bottom:40px;}
.fd-modp-rutina-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;}
.fd-modp-rutina-step{display:flex;flex-direction:column;gap:10px;padding:26px 22px 28px;
  border:1px solid rgba(18,49,42,.14);border-radius:18px;background:#fff;}
.fd-modp-rutina-step.is-current{border-color:var(--fd-accent-border);background:var(--fd-accent-tint);}
.fd-modp-rutina-num{font-size:11px;letter-spacing:.2em;font-weight:600;color:var(--fd-accent);}
.fd-modp-rutina-media{height:150px;display:flex;align-items:center;justify-content:center;}
.fd-modp-rutina-media img{max-width:100%;max-height:100%;object-fit:contain;}
.fd-modp-rutina-label{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--fd-muted);}
.fd-modp-rutina-name{font-size:16px;font-weight:400;color:var(--fd-ink);line-height:1.35;}
.fd-modp-rutina-step p{font-size:13px;font-weight:300;color:var(--fd-body);line-height:1.6;margin:0;}
@media (max-width:991.98px){
  .fd-modp-rutina{padding:64px 24px;}
  .fd-modp-rutina-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
  .fd-modp-rutina-grid{grid-template-columns:1fr;}
  .fd-modp-media-strip .fd-modp-media-thumb{flex:0 0 54px;height:54px;}
}


/* Huecos a completar en los hubs nuevos (producto y video del activo) */
.fd-modh-prod-slot{height:260px;border-radius:18px;border:1px dashed #C9D9D4;background:#F7FAF9;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;
  font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:#93A6A0;padding:20px;}
.fd-modh-prod-slot span{font-size:11px;letter-spacing:0;text-transform:none;font-weight:300;color:#A9B8B3;}
.fd-modh-active-slot{display:flex;align-items:center;justify-content:center;border:1px dashed #C9D9D4;
  background:#F7FAF9;color:#93A6A0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.fd-modh-active-slot video{display:none;}


/* ============================================================
   DIAGNÓSTICO DE PIEL · TEST INTERACTIVO (fd-dx-*)
   Módulo: dnn-modules/diag-03-test.html
   JS: js/diagnostico-reglas.js + js/diagnostico.js
   El layout cambia por estado (data-state en .fd-dx): intro → test →
   think → result. El JS anima el paso de uno a otro (FLIP + piezas
   que viajan), por eso las grillas de cada estado comparten el orbe.
   ============================================================ */
.fd-dx{--dx-a:#379A87;--dx-a2:#2A7A6B;--dx-ink:#12312A;--dx-body:#3B5750;--dx-mute:#6B7F79;
  --dx-line:#DDE8E4;--dx-tint:#E7F3EF;--orb:340px;
  position:relative;overflow:hidden;padding:80px 56px 104px;background:#F3F7F5;font-family:var(--fd-font,"Montserrat",sans-serif);}
.fd-dx *{box-sizing:border-box;}
.fd-dx-bg{position:absolute;inset:0;pointer-events:none;}
.fd-dx-bg i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;animation:fdDxDrift 22s ease-in-out infinite;}
.fd-dx-bg i:first-child{width:520px;height:520px;left:-140px;top:-160px;background:#CDE9E0;}
.fd-dx-bg i:last-child{width:460px;height:460px;right:-120px;bottom:-180px;background:#D6EAF1;animation-delay:-11s;}
@keyframes fdDxDrift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(60px,40px) scale(1.08);}}

.fd-dx-shell{position:relative;max-width:1120px;min-height:560px;margin:0 auto;display:grid;gap:36px 64px;align-items:center;align-content:center;}
.fd-dx-intro,.fd-dx-profile,.fd-dx-panel,.fd-dx-think,.fd-dx-result{display:none;}

.fd-dx[data-state="intro"] .fd-dx-shell,.fd-dx:not([data-state]) .fd-dx-shell{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"intro orb";}
.fd-dx[data-state="intro"] .fd-dx-intro,.fd-dx:not([data-state]) .fd-dx-intro{display:block;}
.fd-dx[data-state="test"]{--orb:128px;}
.fd-dx[data-state="test"] .fd-dx-shell{grid-template-columns:260px minmax(0,1fr);grid-template-rows:auto 1fr;
  grid-template-areas:"orb panel" "profile panel";align-items:start;}
.fd-dx[data-state="test"] .fd-dx-profile{display:flex;}
.fd-dx[data-state="test"] .fd-dx-panel{display:block;}
.fd-dx[data-state="test"] .fd-dx-orb{justify-self:start;}
.fd-dx[data-state="think"]{--orb:260px;}
.fd-dx[data-state="think"] .fd-dx-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"orb" "think";justify-items:center;}
.fd-dx[data-state="think"] .fd-dx-think{display:block;}
.fd-dx[data-state="result"]{--orb:104px;}
.fd-dx[data-state="result"] .fd-dx-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"orb" "result";justify-items:center;gap:22px;}
.fd-dx[data-state="result"] .fd-dx-result{display:block;}

/* ---- Intro ---- */
.fd-dx-intro{grid-area:intro;max-width:540px;}
.fd-dx-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--dx-a);}
.fd-dx-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;}
.fd-dx-title{margin:20px 0 0;font-size:clamp(36px,4.6vw,62px);line-height:1.02;font-weight:200;letter-spacing:-.025em;text-transform:uppercase;color:var(--dx-ink);}
.fd-dx-title b{font-weight:500;color:var(--dx-a);}
.fd-dx-lead{margin:22px 0 0;max-width:470px;font-size:16px;line-height:1.7;font-weight:300;color:var(--dx-body);text-wrap:pretty;}
.fd-dx-facts{display:flex;gap:0;margin-top:32px;}
.fd-dx-facts>div{display:flex;flex-direction:column;gap:4px;padding:0 28px;border-left:1px solid var(--dx-line);}
.fd-dx-facts>div:first-child{padding-left:0;border-left:0;}
.fd-dx-facts b{font-size:30px;font-weight:200;line-height:1;color:var(--dx-ink);}
.fd-dx-facts span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--dx-mute);}
.fd-dx-start{margin-top:40px;display:inline-flex;align-items:center;gap:14px;height:58px;padding:0 10px 0 30px;border:0;border-radius:29px;
  background:var(--dx-a);color:#fff;font-family:inherit;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;cursor:pointer;
  box-shadow:0 18px 40px -16px rgba(55,154,135,.7);transition:background .3s ease,transform .4s cubic-bezier(.22,1,.36,1);}
.fd-dx-start span{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:15px;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.fd-dx-start:hover{background:var(--dx-a2);}
.fd-dx-start:hover span{transform:translateX(4px);}

/* ---- Orbe ---- */
.fd-dx-orb{grid-area:orb;position:relative;justify-self:center;width:var(--orb);height:var(--orb);font-size:calc(var(--orb) / 10);}
.fd-dx-orb-fluid{position:absolute;inset:9%;border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 32% 26%,#fff 0%,#EEF7F4 34%,#C9E5DC 100%);
  box-shadow:inset 0 -18px 40px rgba(55,154,135,.20),0 36px 70px -30px rgba(18,49,42,.35);}
.fd-dx-orb-fluid::before{content:"";position:absolute;inset:-35%;
  background:conic-gradient(from 0deg,rgba(55,154,135,0),rgba(55,154,135,.32),rgba(87,168,196,.26),rgba(255,255,255,.4),rgba(55,154,135,0));
  filter:blur(22px);animation:fdDxSpin 16s linear infinite;}
.fd-dx-orb-fluid::after{content:"";position:absolute;left:18%;top:12%;width:34%;height:22%;border-radius:50%;background:rgba(255,255,255,.75);filter:blur(10px);}
@keyframes fdDxSpin{to{transform:rotate(360deg);}}
.fd-dx-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.fd-dx-ring circle{fill:none;stroke-width:1.6;}
.fd-dx-ring-track{stroke:rgba(18,49,42,.10);}
.fd-dx-ring-seg{stroke:var(--dx-a);stroke-linecap:round;stroke-width:2.4;transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1);}
.fd-dx-orb-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25em;color:var(--dx-ink);text-align:center;}
.fd-dx-orb-num{font-size:2.8em;font-weight:200;line-height:1;letter-spacing:-.03em;}
.fd-dx-orb-num small{font-size:.42em;font-weight:300;color:var(--dx-mute);letter-spacing:0;}
.fd-dx-orb-num i{font-size:.62em;color:var(--dx-a);}
.fd-dx-orb-logo{display:block;width:calc(var(--orb) * .30);height:calc(var(--orb) * .30 * 97 / 148);background:var(--dx-a);
  -webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;}
.fd-dx-orb-lbl:empty{display:none;}
.fd-dx-orb-lbl{font-size:max(.42em,9px);letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--dx-mute);}
.fd-dx[data-state="test"] .fd-dx-orb-lbl,.fd-dx[data-state="result"] .fd-dx-orb-lbl{display:none;}
.fd-dx[data-state="think"] .fd-dx-orb-fluid{animation:fdDxBreath 1.8s ease-in-out infinite;}
.fd-dx[data-state="think"] .fd-dx-ring{animation:fdDxSpin 2.6s linear infinite;}
@keyframes fdDxBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.045);}}

/* ---- Perfil ---- */
.fd-dx-profile{grid-area:profile;list-style:none;margin:0;padding:0;flex-direction:column;gap:8px;width:100%;}
.fd-dx-slot{display:flex;flex-direction:column;gap:3px;padding:12px 16px;border-radius:14px;border:1px dashed #CFDDD8;background:rgba(255,255,255,.35);
  transition:border-color .4s ease,background .4s ease,box-shadow .4s ease;}
.fd-dx-slot-k{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--dx-mute);}
.fd-dx-slot-v{font-size:14px;font-weight:400;color:#A7B7B2;transition:opacity .3s ease;}
.fd-dx-slot.is-filled{border-style:solid;border-color:#fff;background:#fff;box-shadow:0 8px 22px -12px rgba(18,49,42,.18);cursor:pointer;}
.fd-dx-slot.is-filled .fd-dx-slot-v{color:var(--dx-ink);}
.fd-dx-slot.is-filled:hover{border-color:var(--dx-a);}
.fd-dx-slot.is-now{border-color:var(--dx-a);}
.fd-dx-slot.is-incoming .fd-dx-slot-v{opacity:0;}

/* ---- Tarjeta de preguntas ---- */
.fd-dx-panel{grid-area:panel;position:relative;background:#fff;border-radius:28px;padding:32px 44px 40px;border:1px solid #E3ECE9;
  box-shadow:0 40px 90px -40px rgba(18,49,42,.28);overflow:hidden;}
.fd-dx-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px;}
.fd-dx-back{border:0;background:none;padding:0;font-family:inherit;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--dx-a);cursor:pointer;transition:opacity .3s ease;}
.fd-dx-back.is-hidden{opacity:0;pointer-events:none;}
.fd-dx-steplbl{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--dx-mute);}
.fd-dx-prog{height:2px;margin:16px 0 34px;background:#EDF3F1;border-radius:2px;overflow:hidden;}
.fd-dx-prog i{display:block;height:100%;background:var(--dx-a);transform-origin:0 50%;transform:scaleX(.2);transition:transform .8s cubic-bezier(.22,1,.36,1);}
.fd-dx-q{display:none;}
.fd-dx-q.is-active{display:block;}
.fd-dx-qhead{margin-bottom:26px;}
.fd-dx-qnum{font-size:11px;letter-spacing:.22em;font-weight:600;color:var(--dx-a);}
.fd-dx-qhead h2{margin:10px 0 0;font-size:clamp(22px,2.3vw,30px);line-height:1.2;font-weight:300;letter-spacing:-.01em;color:var(--dx-ink);text-wrap:balance;}
.fd-dx-qhead p{margin:8px 0 0;font-size:14px;font-weight:300;color:var(--dx-mute);}
.fd-dx-opts{display:grid;gap:12px;}
.fd-dx-opts.is-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.fd-dx-opts.is-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.fd-dx-opt{position:relative;display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:78px;padding:16px 52px 16px 20px;
  border:1px solid #E1EAE7;border-radius:18px;background:#FAFCFB;text-align:left;font-family:inherit;color:var(--dx-ink);cursor:pointer;
  transition:border-color .35s ease,background .35s ease,color .35s ease,transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;}
.fd-dx-opt b{font-size:15px;font-weight:500;line-height:1.35;}
.fd-dx-opt span{font-size:12.5px;font-weight:300;line-height:1.45;color:var(--dx-mute);transition:color .35s ease;}
.fd-dx-opt:hover{border-color:#B7D6CC;background:#fff;transform:translateY(-2px);box-shadow:0 14px 30px -18px rgba(18,49,42,.35);}
.fd-dx-radio{position:absolute;right:18px;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;border:1.5px solid #C9DAD4;transition:border-color .35s ease,background .35s ease;}
.fd-dx-radio::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .45s cubic-bezier(.22,1,.36,1);}
.fd-dx-opt.is-on{background:var(--dx-a);border-color:var(--dx-a);color:#fff;box-shadow:0 18px 36px -18px rgba(55,154,135,.8);}
.fd-dx-opt.is-on span{color:rgba(255,255,255,.88);}
.fd-dx-opt.is-on .fd-dx-radio{border-color:#fff;}
.fd-dx-opt.is-on .fd-dx-radio::after{transform:scale(1);}
.fd-dx-opt.is-big{align-items:flex-start;min-height:132px;padding:20px 22px;}
.fd-dx-opt.is-big b{font-size:38px;font-weight:200;letter-spacing:-.03em;line-height:1;}
.fd-dx-opt.is-big .fd-dx-radio{top:22px;margin-top:0;}
.fd-dx-dots{display:flex;gap:5px;margin-top:10px;font-style:normal;}
.fd-dx-dots i{width:18px;height:4px;border-radius:2px;background:var(--dx-a);opacity:.55;}
.fd-dx-opt.is-on .fd-dx-dots i{background:#fff;opacity:.9;}
.fd-dx-opts.is-3 .fd-dx-opt:not(.is-big){min-height:132px;align-items:flex-start;}
.fd-dx-opts.is-3 .fd-dx-opt:not(.is-big) .fd-dx-radio{top:22px;margin-top:0;}

/* ---- Analizando ---- */
.fd-dx-think{grid-area:think;max-width:560px;text-align:center;}
.fd-dx-think-title{font-size:22px;font-weight:300;color:var(--dx-ink);}
.fd-dx-thinklist{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;align-items:center;}
.fd-dx-thinklist li{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:22px;background:#fff;border:1px solid #E3ECE9;
  font-size:13.5px;font-weight:300;color:var(--dx-body);box-shadow:0 10px 24px -18px rgba(18,49,42,.4);}
.fd-dx-thinklist li i{font-size:10px;color:var(--dx-a);}
.fd-dx-thinklist li b{font-weight:500;color:var(--dx-ink);}

/* ---- Piezas en vuelo ---- */
.fd-dx-fly{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;margin:0;display:flex;align-items:center;overflow:hidden;
  font-family:var(--fd-font,"Montserrat",sans-serif);box-shadow:0 18px 40px -14px rgba(18,49,42,.35);}
.fd-dx-fly.is-pill span{padding:0 16px;font-size:14px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fd-dx-fly.is-card{border:1px solid #E3ECE9;}
.fd-dx-fly.is-dot{background:var(--dx-a,#379A87);background-color:#379A87;box-shadow:0 0 0 6px rgba(55,154,135,.14);}

/* ---- Resultado ---- */
.fd-dx-result{grid-area:result;width:100%;}
.fd-dx-rhead{max-width:720px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;}
.fd-dx-rtitle{margin:16px 0 0;font-size:clamp(30px,3.4vw,46px);line-height:1.05;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;color:var(--dx-ink);}
.fd-dx-rtitle b{font-weight:500;color:var(--dx-a);}
.fd-dx-rsum{margin:14px 0 0;font-size:15px;line-height:1.7;font-weight:300;color:var(--dx-body);text-wrap:pretty;}
.fd-dx-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;}
.fd-dx-chip{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:17px;border:1px solid #DDE8E4;background:#fff;
  font-family:inherit;font-size:12.5px;font-weight:400;color:var(--dx-ink);cursor:pointer;transition:border-color .3s ease;}
.fd-dx-chip span{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--dx-mute);}
.fd-dx-chip i{font-size:9px;color:var(--dx-a);opacity:0;transition:opacity .3s ease;}
.fd-dx-chip:hover{border-color:var(--dx-a);}
.fd-dx-chip:hover i{opacity:1;}

.fd-dx-steps{position:relative;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:16px;margin-top:52px;}
.fd-dx-conn{position:absolute;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);top:22px;height:1px;
  background:linear-gradient(90deg,var(--dx-a) 0 50%,transparent 50% 100%);background-size:8px 1px;transform-origin:0 50%;opacity:.6;}
.fd-dx-stepcol{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px;min-width:0;}
.fd-dx-badge{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;background:var(--dx-a);color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:600;letter-spacing:.06em;box-shadow:0 0 0 6px #F3F7F5;}
.fd-dx-card{width:100%;flex:1 1 auto;display:flex;flex-direction:column;background:#fff;border-radius:22px;border:1px solid #E3ECE9;overflow:hidden;
  box-shadow:0 30px 60px -40px rgba(18,49,42,.4);}
.fd-dx-badge.is-pending,.fd-dx-card.is-pending{opacity:0;}
.fd-dx-media{height:180px;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--lc) 10%,#fff);}
.fd-dx-media img{max-width:78%;max-height:150px;object-fit:contain;}
.fd-dx-media-ph{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--lc);opacity:.7;}
.fd-dx-cardbody{display:flex;flex-direction:column;gap:9px;padding:18px 18px 22px;flex:1 1 auto;}
.fd-dx-cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--dx-mute);}
.fd-dx-cat em{font-style:normal;color:var(--dx-a);}
.fd-dx-name{margin:0;font-size:15.5px;line-height:1.35;font-weight:400;color:var(--dx-ink);text-wrap:balance;}
.fd-dx-linechip{display:inline-flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--lc);}
.fd-dx-linechip i{width:7px;height:7px;border-radius:50%;background:var(--lc);}
.fd-dx-why{margin:0;font-size:13px;line-height:1.6;font-weight:300;color:var(--dx-body);flex:1 1 auto;}
.fd-dx-more{margin-top:4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--dx-a);text-decoration:none;}
.fd-dx-more span{display:inline-block;transition:transform .4s cubic-bezier(.22,1,.36,1);}
.fd-dx-more:hover{color:var(--dx-a2);}
.fd-dx-more:hover span{transform:translateX(4px);}

.fd-dx-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:44px;}
.fd-dx-cta{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 30px;border-radius:27px;background:var(--dx-a);color:#fff !important;text-decoration:none;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:background .3s ease;}
.fd-dx-cta:hover{background:var(--dx-a2);}
.fd-dx-ghost{height:54px;padding:0 28px;border-radius:27px;border:1px solid #CFDDD8;background:transparent;font-family:inherit;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--dx-ink);cursor:pointer;transition:border-color .3s ease;}
.fd-dx-ghost:hover{border-color:var(--dx-a);}
.fd-dx-note{margin:22px auto 0;max-width:520px;text-align:center;font-size:11.5px;line-height:1.6;font-weight:300;color:var(--dx-mute);}

/* ---- Responsive ---- */
@media (max-width:1199.98px){
  .fd-dx-steps{grid-template-columns:repeat(min(var(--n),3),minmax(0,1fr));row-gap:28px;}
  .fd-dx-conn{display:none;}
}
@media (max-width:991.98px){
  .fd-dx{padding:56px 24px 72px;--orb:240px;}
  .fd-dx-shell{min-height:0;gap:28px;}
  .fd-dx[data-state="intro"] .fd-dx-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"orb" "intro";justify-items:center;}
  .fd-dx-intro{text-align:center;flex-direction:column;align-items:center;}
  .fd-dx[data-state="intro"] .fd-dx-intro{display:flex;}
  .fd-dx[data-state="test"]{--orb:72px;}
  .fd-dx[data-state="test"] .fd-dx-shell{grid-template-columns:72px minmax(0,1fr);grid-template-rows:auto auto;
    grid-template-areas:"orb profile" "panel panel";align-items:center;gap:18px 14px;}
  .fd-dx-profile{flex-direction:row !important;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
  .fd-dx-profile::-webkit-scrollbar{display:none;}
  .fd-dx-slot{flex:0 0 auto;min-width:118px;padding:9px 12px;}
  .fd-dx-slot-v{font-size:12.5px;}
  .fd-dx-panel{padding:24px 22px 28px;border-radius:24px;}
  .fd-dx[data-state="think"]{--orb:200px;}
  .fd-dx[data-state="result"]{--orb:88px;}
}
@media (max-width:767.98px){
  .fd-dx-opts.is-2,.fd-dx-opts.is-3{grid-template-columns:minmax(0,1fr);}
  .fd-dx-opts.is-3 .fd-dx-opt:not(.is-big),.fd-dx-opt.is-big{min-height:78px;}
  .fd-dx-opt.is-big b{font-size:28px;}
  .fd-dx-facts>div{padding:0 18px;}
  .fd-dx-steps{grid-template-columns:minmax(0,1fr);}
  .fd-dx-stepcol{flex-direction:row;align-items:flex-start;gap:14px;}
  .fd-dx-badge{flex:0 0 auto;width:38px;height:38px;font-size:12px;}
  .fd-dx-card{flex-direction:row;}
  .fd-dx-media{flex:0 0 104px;height:auto;min-height:150px;}
  .fd-dx-media img{max-width:84%;max-height:120px;}
}
@media (prefers-reduced-motion:reduce){
  .fd-dx-bg i,.fd-dx-orb-fluid::before,.fd-dx[data-state="think"] .fd-dx-orb-fluid,.fd-dx[data-state="think"] .fd-dx-ring{animation:none;}
}


/* ---- Galería: todo dentro del mismo marco, sin superponer ----
   El marco (.fd-gallery-main) tiene dos zonas: la foto principal con
   las flechas (arriba) y la franja de miniaturas (abajo, separada por
   un filete). Las miniaturas ya no pisan la foto. */
.fd-gallery-main,.fd-modp-gallery-main{
  height:auto !important;display:flex;flex-direction:column;background:#fff !important;
  border:1px solid #E3ECE9;border-radius:18px;overflow:hidden;}
.fd-gallery-main img[data-mediamain],.fd-gallery-main img[data-mediaghost],
.fd-modp-gallery-main img[data-mediamain],.fd-modp-gallery-main img[data-mediaghost]{
  bottom:auto;height:480px;}
.fd-gallery-main::before,.fd-modp-gallery-main::before{content:"";display:block;height:480px;flex:0 0 auto;}
.fd-media-nav,.fd-modp-media-nav{top:240px;}
.fd-media-strip,.fd-modp-media-strip{
  position:relative !important;left:auto;right:auto;bottom:auto;z-index:3;
  background:#fff !important;border-top:1px solid #EDF3F1;padding:14px 16px;}
@media (max-width:767.98px){
  .fd-gallery-main::before,.fd-modp-gallery-main::before{height:340px;}
  .fd-media-nav,.fd-modp-media-nav{top:170px;}
  .fd-gallery-main img[data-mediamain],.fd-gallery-main img[data-mediaghost],
  .fd-modp-gallery-main img[data-mediamain],.fd-modp-gallery-main img[data-mediaghost]{height:340px;}
}

/* Barra de compra fija: z-index alto (sobre headers/containers de DNN) y botón en el verde de la ficha */
.fd-ctabar,.fd-modp-ctabar{z-index:1040;}
.fd-accent-green .fd-modp-ctabar-buy,.fd-modp-ctabar.fd-accent-green .fd-modp-ctabar-buy{background:var(--fd-accent,#379A87);}
.fd-accent-green .fd-modp-ctabar-buy:hover,.fd-modp-ctabar.fd-accent-green .fd-modp-ctabar-buy:hover{background:var(--fd-accent-dark,#2A7A6B);}



/* ==========================================
   QUIENES SOMOS - Modificado por Eugenia
========================================== */


.fd-nosotros-static .fd-mod-acc-item.is-open
.fd-mod-acc-curtain {
  height: 60% !important;
}

.fd-nosotros-static .fd-mod-acc-item.is-open
.fd-mod-acc-tag {
  opacity: 1 !important;
  transform: none !important;
  text-align: center;
}

.fd-nosotros-static .fd-mod-acc-copy2 {
  display: block;
  font-size: 17.5px !important;
  line-height: 1.45;
  text-align: center;
}

.fd-nosotros-static .fd-mod-acc-chev {
  display: none !important;
}

/* QUIÉNES SOMOS — corregir distribución del banner */

body.fd-nosotros-static .fd-nosotros-hero .fd-modh-hero-inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;

  width: 100% !important;
  max-width: none !important;
  height: 100%;
}

body.fd-nosotros-static .fd-nosotros-hero-content {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 560px !important;
}

body.fd-nosotros-static .fd-nosotros-hero-content h1,
body.fd-nosotros-static .fd-nosotros-hero-content p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: left !important;
  position: relative;
  transform: none !important;
}

body.fd-nosotros-static .fd-nosotros-hero-content h1 {
  margin: 0;
}

body.fd-nosotros-static .fd-nosotros-hero-content p {
  line-height: 1.6;
}

/* Adaptación para celular */
@media (max-width: 767px) {
  body.fd-nosotros-static .fd-nosotros-hero-content {
    max-width: 100% !important;
  }
}



/* ==========================================
   GLOSARIO — ESTILOS ESPECÍFICOS
========================================== */

/* HERO */
.fd-gl-hero {
  position: relative;
  overflow: hidden;
  min-height: 290px;
  display: flex;
  align-items: center;
  background: linear-gradient(110deg, #12312A, #1C6A55);
  color: #fff;
}

.fd-gl-hero-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  padding-top: 65px;
  padding-bottom: 65px;
}

.fd-gl-hero .fd-eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--fd-green-mid);
}

.fd-gl-hero .fd-h1 {
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.1;
  color: var(--fd-green);
}

.fd-gl-hero p {
  max-width: 600px;
  margin-top: 20px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: #565F5A;
}

.fd-gl-hero-decoration {
  position: absolute;
  right: -100px;
  top: -180px;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  pointer-events: none;
}

/* CONTENIDO */
.fd-gl-main {
  max-width: 1440px;
  margin: 0 auto;
  padding-top: 75px;
  padding-bottom: 110px;
}

.fd-gl-intro {
  margin-bottom: 40px;
}

.fd-gl-intro .fd-eyebrow {
  display: block;
  margin-bottom: 14px;
  color: var(--fd-green-mid);
}

.fd-gl-intro .fd-h2 {
  margin-bottom: 18px;
  color: var(--fd-green);
}

.fd-gl-intro p {
  max-width: 100%;
  font-size: 15.5px;
  font-weight: 300;
  line-height: 1.8;
  color: var(--fd-body);
}

/* FILTROS */
.fd-gl-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 28px;
}

.fd-gl-filters .fd-btn {
  justify-content: center;
  height: 48px;
  font-size: 11px;
  letter-spacing: .05em;
  transition: background .2s, color .2s;
}

.fd-gl-filters .fd-btn-outline {
  background: #fff;
}

.fd-gl-filters .fd-btn-outline:hover {
  background: var(--fd-tint);
}

/* BUSCADOR */
.fd-gl-search {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 60px;
  padding: 0 24px;
  background: var(--fd-tint);
  border: 1px solid #D8E7E0;
  border-radius: 32px;
  color: var(--fd-green-mid);
}

.fd-gl-search:focus-within {
  border-color: var(--fd-green);
}

.fd-gl-search input {
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 58px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: none;
  color: var(--fd-ink);
  font-size: 14px;
  font-weight: 300;
}

.fd-gl-search input::placeholder {
  color: var(--fd-muted);
}

.fd-gl-search button {
  color: var(--fd-muted);
}

.fd-gl-search button[hidden] {
  display: none;
}

/* RESULTADOS */
.fd-gl-meta {
  padding: 28px 0 18px;
  font-size: 12px;
  color: var(--fd-muted);
}

.fd-gl-results {
  border-top: 1px solid #DCE8E4;
}

/* ADAPTACIÓN DE LOS FAQ EXISTENTES A DETAILS */
.fd-gl-acc {
  border-top: 0;
  border-bottom: 1px solid #DCE8E4;
  background: #fff;
}

.fd-gl-acc .fd-faq-head {
  justify-content: space-between;
  min-height: 78px;
  padding: 24px 6px;
  list-style: none;
}

.fd-gl-acc .fd-faq-head::-webkit-details-marker {
  display: none;
}

.fd-gl-acc .fd-faq-head::marker {
  content: "";
}

.fd-gl-acc-title {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: var(--fd-green-dark);
}

.fd-gl-acc-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #BDD9CE;
  border-radius: 50%;
  color: var(--fd-green-mid);
  font-size: 19px;
  font-weight: 300;
  transition: transform .25s, background .25s;
}

.fd-gl-acc[open] .fd-gl-acc-icon {
  transform: rotate(45deg);
  background: var(--fd-tint);
}

.fd-gl-acc[open] .fd-gl-acc-title {
  color: var(--fd-green-mid);
}

/* CONTENIDO DEL ACORDEÓN */
.fd-gl-acc .fd-faq-panel {
  max-height: none;
  overflow: visible;
  padding: 0 60px 32px 6px;
}

.fd-gl-acc .fd-faq-panel p {
  padding: 0;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.85;
  color: var(--fd-body);
}

.fd-gl-acc .fd-gl-acc-alias {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--fd-green-mid);
}

/* SIN RESULTADOS */
.fd-gl-empty {
  padding: 65px 0;
  text-align: center;
  color: var(--fd-muted);
  font-size: 14px;
}

.fd-gl-empty[hidden] {
  display: none;
}

/* MOBILE */
@media (max-width: 767px) {
  .fd-gl-hero {
    min-height: 340px;
  }

  .fd-gl-hero-inner {
    padding-top: 55px;
    padding-bottom: 55px;
  }

  .fd-gl-hero .fd-h1 {
    font-size: 42px;
  }

  .fd-gl-hero p {
    font-size: 13px;
  }

  .fd-gl-main {
    padding-top: 55px;
    padding-bottom: 80px;
  }

  .fd-gl-intro {
    margin-bottom: 32px;
  }

  .fd-gl-intro p {
    font-size: 13px;
  }

  .fd-gl-filters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }

  .fd-gl-filters .fd-btn {
    height: auto;
    min-height: 46px;
    padding: 12px 8px;
    font-size: 10px;
    white-space: normal;
    text-align: center;
  }

  .fd-gl-search {
    min-height: 54px;
    padding: 0 18px;
  }

  .fd-gl-search input {
    height: 52px;
    font-size: 13px;
  }

  .fd-gl-acc .fd-faq-head {
    min-height: 70px;
    padding: 20px 0;
  }

  .fd-gl-acc-title {
    font-size: 14px;
  }

  .fd-gl-acc .fd-faq-panel {
    padding: 0 12px 26px 0;
  }

  .fd-gl-acc .fd-faq-panel p {
    font-size: 13px;
  }
}


/* ==========================================
   BEFORE / AFTER — VERSIÓN ESTÁTICA
========================================== */

.fd-babe.fd-babe-static {
  cursor: default !important;
}

.fd-babe.fd-babe-static img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: default !important;
  user-select: none;
  -webkit-user-drag: none;
}

/* Desactivar elementos visuales del slider */
.fd-babe.fd-babe-static .fd-babe-handle,
.fd-babe.fd-babe-static .fd-babe-divider {
  display: none !important;
}


/* CED */
.fd-ced-hero{position:relative;min-height:clamp(280px,25vw,440px);overflow:hidden;background:#e9eff4;display:flex;align-items:center;}
.fd-ced-hero-picture{position:absolute;inset:0;width:100%;height:100%;}
.fd-ced-hero-picture img{width:100%;height:100%;object-fit:cover;object-position:center;}
.fd-ced-hero-inner{position:relative;z-index:1;width:100%;padding:42px max(5%,24px);}
.fd-ced-hero-brand{display:flex;flex-direction:column;max-width:420px;color:#646b70;line-height:1.12;text-shadow:0 1px 15px rgba(255,255,255,.5);}
.fd-ced-logo{font-size:clamp(40px,5vw,72px);font-weight:500;letter-spacing:.13em;color:#e86a00;line-height:1;}
.fd-ced-logo span{display:inline-block;width:2px;height:.8em;background:#85898b;margin:0 .18em;vertical-align:-.05em;}
.fd-ced-brand-sub{font-size:clamp(19px,2.25vw,32px);letter-spacing:.18em;font-weight:300;margin-top:12px;}
.fd-ced-brand-sub strong{font-weight:600;letter-spacing:.22em;}
.fd-ced-intro{padding:36px max(5%,24px);text-align:center;background:#fff;}
.fd-ced-intro p{max-width:1060px;margin:auto;color:var(--fd-body);font-size:17.5px;font-weight:300;line-height:1.7;}
.fd-ced-research{background:#f5f6f5;padding:45px max(4%,24px) 60px;}
.fd-ced-research .fd-mod-h2{margin-bottom:24px;font-size:clamp(26px,2.7vw,32px);}
.fd-ced-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px 12px;color:#6d7773;font-size:17.5px;font-weight:400;letter-spacing:.035em;text-transform:uppercase;}
.fd-ced-card-media{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:10px;background:#dce6e2;}
.fd-ced-card-media img{width:100%;height:100%;object-fit:cover;}
.fd-ced-card-media:after{content:"";position:absolute;inset:36% 0 0;background:linear-gradient(transparent,rgba(10,18,16,.78));pointer-events:none;}
.fd-ced-card-caption{position:absolute;z-index:1;left:7%;right:7%;bottom:15px;text-align:center;color:white;font-size:17.5px;font-weight:400;line-height:1.42;text-shadow:0 1px 5px rgba(0,0,0,.3);}
.fd-ced-statement{background:var(--fd-green);color:white;text-align:center;padding:38px 24px;border-bottom:15px solid #a2d4ca;}
.fd-ced-statement p{font-size:clamp(18px,2.2vw,29px);font-weight:300;line-height:1.42;}
.fd-ced-statement strong{font-weight:600;}
.fd-ced-visit{text-align:center;padding:38px 24px 44px;color:var(--fd-body);font-size:14.5px;font-weight:300;line-height:1.6;}
.fd-ced-visit a{color:var(--fd-green-mid);text-decoration:underline;overflow-wrap:anywhere;}
@media(max-width:767.98px){.fd-ced-hero{min-height:340px;}.fd-ced-hero-picture img{object-position:62% center;}.fd-ced-hero-inner{padding:30px 24px;}.fd-ced-hero-brand{max-width:240px;}.fd-ced-logo{font-size:38px;}.fd-ced-brand-sub{font-size:17px;}.fd-ced-intro{padding:32px 24px;}.fd-ced-intro p{font-size:14px;}.fd-ced-research{padding:38px 24px 48px;}.fd-ced-card-head{font-size:11px;padding-left:0;padding-right:0;}.fd-ced-card-caption{font-size:12px;}.fd-ced-statement p{font-size:18px;}}

/* Tarjeta alternativa (venía solo en el CSS del skin) */
.fd-mod-prod-frame2{position:relative;height:320px;border-radius:18px;background:transparent;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;transition:transform .45s cubic-bezier(.2,.7,.3,1),}
.fd-mod-prod-frame2:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(18,49,42,.18);}
.fd-mod-prod-frame2 img{width:78%;height:78%;object-fit:contain;transition:transform .35s ease;}

/* ==========================================================
   QUIÉNES SOMOS · relato con scroll (.fd-ns)
   Base: versión apilada y completa. Con JS (.is-live): tres capítulos fijos.
========================================================== */
.fd-ns{--ns-top:0px;--ns-vh:100vh;position:relative;background:#fff;color:var(--fd-ink);}
.fd-ns-sticky{position:relative;}

/* 1 · Hero */
.fd-ns-hero-sticky{position:relative;height:min(78vh,760px);min-height:460px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.fd-ns-hero-media{position:absolute;inset:0;background:#12312A;will-change:clip-path,opacity;}
.fd-ns-hero-media img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;will-change:transform;}
.fd-ns-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,38,32,.18) 0%,rgba(15,38,32,.55) 100%);}
.fd-ns-hero-copy{position:relative;z-index:2;padding:0 24px;text-align:center;color:#fff;will-change:transform,opacity;}
.fd-ns-title{margin:0;font-size:clamp(44px,8vw,132px);line-height:.96;font-weight:200;letter-spacing:-.035em;text-transform:uppercase;}
.fd-ns-hint{display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:40px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;opacity:.85;}
.fd-ns-hint::after{content:"";width:1px;height:38px;background:linear-gradient(#fff,rgba(255,255,255,0));animation:fdNsHint 2.2s cubic-bezier(.6,0,.2,1) infinite;transform-origin:50% 0;}
@keyframes fdNsHint{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* 2 · Manifiesto */
.fd-ns-manifesto-sticky{display:flex;align-items:center;justify-content:center;padding:96px 56px 72px;}
.fd-ns-manifesto-inner{max-width:1080px;display:flex;flex-direction:column;gap:clamp(28px,4vh,48px);}
.fd-ns-big{margin:0;font-size:clamp(26px,3.5vw,54px);line-height:1.18;font-weight:200;letter-spacing:-.02em;color:var(--fd-green-dark);text-wrap:pretty;}
.fd-ns-big+.fd-ns-big{color:var(--fd-green);}
.fd-ns-w{display:inline-block;will-change:opacity,transform;}

/* 3 · Pilares */
.fd-ns-pilares-sticky{padding:40px 0 104px;}
.fd-ns-pilares-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 10vw;margin-bottom:22px;}
.fd-ns-h2{margin:0;font-size:clamp(30px,3.4vw,52px);line-height:1;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;color:var(--fd-green-dark);}
.fd-ns-meta{display:none;align-items:center;gap:18px;font-size:12px;letter-spacing:.2em;font-weight:500;color:var(--fd-green);font-variant-numeric:tabular-nums;}
.fd-ns-progress{position:relative;width:160px;height:2px;background:var(--fd-line);border-radius:1px;overflow:hidden;}
.fd-ns-progress span{position:absolute;inset:0;background:var(--fd-green);transform-origin:0 50%;transform:scaleX(0);}
.fd-ns-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;padding:0 56px;}
.fd-ns-card{position:relative;margin:0;aspect-ratio:16/10;border-radius:28px;overflow:hidden;background:#12312A;isolation:isolate;
  box-shadow:0 40px 80px -48px rgba(15,38,32,.55);--ns-dim:0;}
.fd-ns-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.fd-ns-card::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(15,38,32,0) 38%,rgba(15,38,32,.82) 100%);}
.fd-ns-card::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:#fff;opacity:var(--ns-dim);}
.fd-ns-card-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(24px,3vw,44px);color:#fff;max-width:640px;}
.fd-ns-num{display:block;font-size:12px;letter-spacing:.24em;font-weight:500;opacity:.85;}
.fd-ns-card-title{margin:12px 0 0;font-size:clamp(26px,2.6vw,42px);line-height:1.04;font-weight:200;letter-spacing:-.015em;text-transform:uppercase;}
.fd-ns-card-text{margin:14px 0 0;font-size:clamp(14px,1.05vw,16.5px);line-height:1.65;font-weight:300;text-wrap:pretty;}

/* ---------- Con JS (.is-live) ---------- */
.fd-ns.is-live .fd-ns-hero{height:calc(var(--ns-vh) * 1.9);}
.fd-ns.is-live .fd-ns-manifesto{height:calc(var(--ns-vh) * 1.7);}
.fd-ns.is-live .fd-ns-sticky{position:sticky;top:var(--ns-top);height:var(--ns-vh);overflow:hidden;}
.fd-ns.is-live .fd-ns-hero-sticky{min-height:0;}
.fd-ns.is-live .fd-ns-manifesto-sticky{padding:0 56px;}
.fd-ns.is-live .fd-ns-pilares-sticky{display:flex;flex-direction:column;justify-content:center;padding:0;}
.fd-ns.is-live .fd-ns-meta{display:flex;}
.fd-ns.is-live .fd-ns-track{display:flex;gap:32px;width:max-content;padding:0 10vw;will-change:transform;}
.fd-ns.is-live .fd-ns-card{flex:0 0 auto;width:min(1320px,80vw);height:min(calc(var(--ns-vh) - 150px),760px);aspect-ratio:auto;will-change:transform;transform-origin:50% 60%;}
.fd-ns.is-live .fd-ns-card-copy>*{transition:opacity .9s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1);}
.fd-ns.is-live .fd-ns-card:not(.is-on):not(.is-seen) .fd-ns-card-copy>*{opacity:0;transform:translateY(12px);transition-duration:.45s;}
@media (max-width:819px){.fd-ns.is-live .fd-ns-card:not(.is-on) .fd-ns-card-copy>*{opacity:0;transform:translateY(12px);transition-duration:.45s;}}
.fd-ns.is-live .fd-ns-card.is-on .fd-ns-card-title{transition-delay:.06s;}
.fd-ns.is-live .fd-ns-card.is-on .fd-ns-card-text{transition-delay:.14s;}

.fd-ns.is-pinjs .fd-ns-hero,.fd-ns.is-pinjs .fd-ns-manifesto,.fd-ns.is-pinjs .fd-ns-pilares{position:relative;}
.fd-ns.is-pinjs .fd-ns-sticky{position:absolute;left:0;right:0;top:0;}
.fd-ns.is-pinjs .fd-ns-sticky.is-fixed{position:fixed;top:var(--ns-top);right:auto;z-index:1;}
.fd-ns.is-pinjs .fd-ns-sticky.is-end{top:auto;bottom:0;}

@media (max-width:819px){
  .fd-ns-manifesto-sticky{padding:80px 24px;}
  .fd-ns.is-live .fd-ns-manifesto-sticky{padding:0 24px;}
  .fd-ns-pilares-head{padding:0 24px;}
  .fd-ns-track{grid-template-columns:minmax(0,1fr);gap:20px;padding:0 24px;}
  .fd-ns-card{aspect-ratio:4/5;border-radius:22px;}
  .fd-ns.is-live .fd-ns-track{gap:16px;padding:0 24px;}
  .fd-ns.is-live .fd-ns-card{width:84vw;height:min(calc(var(--ns-vh) - 200px),560px);}
  .fd-ns-progress{width:72px;}
}
@media (prefers-reduced-motion:reduce){.fd-ns-hint::after{animation:none;}}

/* Header estándar del sitio (igual que los hubs) */
.fd-ns-top .fd-hub-hero-copy h1{margin:0;}


/* ==========================================================
   COMPRAR · FAVORITOS · CATÁLOGO (/linea-de-productos)
========================================================== */
/* Botones de compra: texto siempre blanco (le ganaba el color de links de DNN) */
.fd-btn-dark,.fd-btn-dark:link,.fd-btn-dark:visited,.fd-btn-dark:hover,.fd-btn-dark:focus,.fd-btn-dark:active,
.fd-btn-solar,.fd-btn-solar:link,.fd-btn-solar:visited,.fd-btn-solar:hover,.fd-btn-solar:focus,.fd-btn-solar:active,
.fd-btn-buy,.fd-btn-buy:link,.fd-btn-buy:visited,.fd-btn-buy:hover,.fd-btn-buy:focus,.fd-btn-buy:active,
.fd-btn-dark span,.fd-btn-solar span,.fd-btn-buy span{color:#fff !important;text-decoration:none !important;}

/* Ficha: Comprar + Favoritos */
.fd-buy-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;}
.fd-buy-row .fd-btn-buy{margin:0;}
.fd-btn-fav{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:26px;cursor:pointer;
  background:#fff;border:1px solid rgba(18,49,42,.22);color:var(--fd-green-dark);font-family:inherit;
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  transition:border-color .3s ease,background .3s ease,color .3s ease;}
.fd-btn-fav:hover{border-color:var(--fd-green-dark);background:rgba(18,49,42,.04);}
.fd-btn-fav i{font-size:15px;transition:transform .45s cubic-bezier(.34,1.56,.64,1),color .3s ease;}
.fd-btn-fav.is-active{border-color:rgba(192,57,43,.4);color:#8E2A20;}
.fd-btn-fav.is-active i{color:#C0392B;}
.fd-wishlist i{transition:transform .45s cubic-bezier(.34,1.56,.64,1),color .3s ease;}
.fd-wishlist.is-pop i,.fd-btn-fav.is-pop i{animation:fdFavPop .5s cubic-bezier(.34,1.56,.64,1);}
@keyframes fdFavPop{0%{transform:scale(1);}40%{transform:scale(1.35);}100%{transform:scale(1);}}
@media (max-width:575.98px){.fd-buy-row{gap:10px;}.fd-btn-fav{padding:0 18px;}.fd-btn-fav [data-fav-label]{display:none;}.fd-btn-fav{width:52px;padding:0;justify-content:center;}}

/* Topbar: Favoritos con contador */
a.fd-topbar-item{color:inherit;text-decoration:none;}
.fd-fav-count{min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--fd-green-dark);color:#fff;
  font-size:10px;font-weight:600;line-height:17px;text-align:center;letter-spacing:0;}
.fd-fav-count[hidden]{display:none;}

/* Catálogo */
.fd-catalog{padding:64px 56px 110px;background:#fff;}
.fd-catalog-head{max-width:1200px;margin:0 auto 40px;}
.fd-catalog-head .fd-eyebrow{color:var(--fd-green);display:flex;align-items:center;gap:12px;}
.fd-catalog-head .fd-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;}
.fd-catalog-title{margin:16px 0 0;font-size:clamp(34px,4.2vw,58px);line-height:1.02;font-weight:200;letter-spacing:-.02em;text-transform:uppercase;color:var(--fd-green-dark);}
.fd-catalog-lead{margin:18px 0 0;max-width:560px;font-size:16px;line-height:1.7;font-weight:300;color:var(--fd-body);text-wrap:pretty;}

.fd-catalog-bar{max-width:1200px;margin:0 auto 40px;display:flex;flex-direction:column;gap:18px;position:relative;z-index:0;}
.fd-cat-chips{position:relative;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;}
.fd-cat-chips::-webkit-scrollbar{display:none;}
.fd-cat-chip{position:relative;z-index:1;flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;height:40px;padding:0 18px;border-radius:20px;
  border:1px solid var(--fd-line,#EAEFEC);background:transparent;color:var(--fd-body);cursor:pointer;font-family:inherit;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;white-space:nowrap;transition:color .35s ease,border-color .35s ease;}
.fd-cat-chip i{width:8px;height:8px;border-radius:50%;flex:0 0 auto;transition:box-shadow .35s ease;}
.fd-cat-chip:hover{border-color:var(--fd-green-dark);}
.fd-cat-chip.is-on{color:#fff;border-color:var(--fd-green-dark);background:var(--fd-green-dark);}
.fd-cat-chips.has-ind .fd-cat-chip.is-on{background:transparent;border-color:transparent;}
.fd-cat-chip.is-on i{box-shadow:0 0 0 2px #fff;}
.fd-cat-chip-ind{position:absolute;left:0;top:0;z-index:0;border-radius:20px;background:var(--fd-green-dark);pointer-events:none;
  transition:transform .55s cubic-bezier(.22,1,.36,1),width .55s cubic-bezier(.22,1,.36,1);}
.fd-cat-chips:not(.has-ind) .fd-cat-chip-ind{opacity:0;}

.fd-cat-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;}
.fd-cat-select{position:relative;display:inline-flex;align-items:center;gap:10px;margin:0;height:40px;padding:0 38px 0 16px;border-radius:20px;
  border:1px solid var(--fd-line,#EAEFEC);cursor:pointer;transition:border-color .3s ease;}
.fd-cat-select:hover{border-color:var(--fd-green-dark);}
.fd-cat-select span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--fd-muted);}
.fd-cat-select select{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;cursor:pointer;outline:none;
  font-family:inherit;font-size:13px;font-weight:400;color:var(--fd-green-dark);}
.fd-cat-select>i{position:absolute;right:16px;top:50%;margin-top:-5px;font-size:10px;color:var(--fd-green-dark);pointer-events:none;}
.fd-cat-fixed{display:inline-flex;align-items:center;gap:10px;height:40px;padding:0 18px;border-radius:20px;background:var(--fd-green-dark);color:#fff;}
.fd-cat-fixed span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;opacity:.7;}
.fd-cat-fixed b{font-size:13px;font-weight:400;}
.fd-cat-count{margin-left:auto;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--fd-muted);font-variant-numeric:tabular-nums;}
.fd-catalog[data-modo="favoritos"] .fd-catalog-bar{flex-direction:row;}
.fd-catalog[data-modo="favoritos"] .fd-cat-tools{width:100%;}

.fd-catalog-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px;}
.fd-cat-card{position:relative;opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.fd-cat-card.is-in{opacity:1;transform:none;}
.fd-cat-card[hidden]{display:none;}
.fd-cat-media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;border-radius:18px;overflow:hidden;
  background:#fff;border:1px solid rgba(22,120,106,.18);box-shadow:0 8px 20px rgba(18,49,42,.08);
  transition:transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s ease;}
.fd-cat-media img{width:78%;height:78%;max-width:none;object-fit:contain;transition:transform .7s cubic-bezier(.22,1,.36,1);}
.fd-cat-card:hover .fd-cat-media{transform:translateY(-6px);box-shadow:0 22px 44px rgba(18,49,42,.16);}
.fd-cat-card:hover .fd-cat-media img{transform:scale(1.04);}
.fd-cat-card .fd-wishlist{top:14px;right:14px;}
.fd-cat-body{padding:0 2px;}
.fd-cat-line{margin-top:18px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;}
.fd-cat-body .fd-prod-name{display:block;color:var(--fd-green-dark);text-decoration:none;text-wrap:balance;}
.fd-cat-pres{margin-top:4px;font-size:12px;font-weight:300;color:var(--fd-muted);}
.fd-cat-body .fd-prod-cta{text-decoration:none;}
.fd-catalog.is-loading .fd-catalog-grid{min-height:420px;background:linear-gradient(90deg,#F4F7F5 0%,#FBFCFB 50%,#F4F7F5 100%);background-size:200% 100%;
  border-radius:18px;animation:fdCatShimmer 1.4s linear infinite;}
@keyframes fdCatShimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
.fd-catalog-empty{max-width:1200px;margin:24px auto 0;padding:56px 24px;text-align:center;border:1px dashed var(--fd-line,#EAEFEC);border-radius:18px;}
.fd-catalog-empty p{margin:0 0 22px;font-size:16px;font-weight:300;color:var(--fd-body);}
.fd-catalog-empty[hidden]{display:none;}

@media (max-width:1199.98px){.fd-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:767.98px){
  .fd-catalog{padding:40px 20px 80px;}
  .fd-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 14px;}
  .fd-cat-chips{margin:0 -20px;padding:0 20px 2px;}
  .fd-cat-count{width:100%;margin-left:0;}
  .fd-cat-card .fd-wishlist{top:10px;right:10px;}
}
@media (prefers-reduced-motion:reduce){.fd-cat-card,.fd-cat-chip-ind{transition:none;}.fd-catalog.is-loading .fd-catalog-grid{animation:none;}}


/* ==========================================================
   AJUSTES · menú, compra, ficha, popup de ingreso
========================================================== */
/* El header (y su megamenú) siempre por encima del contenido de la página */
header{z-index:1000 !important;}
[data-menuhost="a"]{z-index:1001 !important;}
.fd-catalog{position:relative;z-index:0;isolation:isolate;}

/* Ficha: resumen sin líneas entre secciones */
.fd-resumen{border-top:0 !important;gap:4px;}
.fd-resumen-item{border-bottom:0 !important;}
.fd-resumen-head{padding:14px 0;}

/* Popup de ingreso: el contenido nunca se sale de la caja */
.fd-loginmodal-shell>*{min-width:0;}
.fd-loginmodal-panel{box-sizing:border-box !important;min-width:0 !important;padding:40px 40px 34px !important;overflow-x:hidden !important;overflow-y:auto;}
.fd-loginmodal-panel *,.fd-loginmodal-panel *::before,.fd-loginmodal-panel *::after{box-sizing:border-box;}
.fd-loginmodal-panel .fd-panel-login-real,.fd-panel-login-real{min-width:0 !important;}
.fd-loginmodal-panel input,.fd-loginmodal-panel select,.fd-loginmodal-panel button{max-width:100%;}
.fd-loginmodal-panel .fd-login-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;}
.fd-loginmodal-panel .fd-title{margin:0 44px 22px 0;}
.fd-login-crear{margin-top:18px;text-align:center;font-size:13px;font-weight:300;color:var(--fd-body);}
.fd-login-crear a{font-weight:500;color:var(--fd-green-mid);}
/* Si el módulo de login ya muestra su "Crear cuenta", no se repite */

@media (max-width:767.98px){
  .fd-loginmodal-panel{padding:28px 22px 30px !important;}
  .fd-loginmodal-panel .fd-title{font-size:21px;}
}

/* ==========================================================
   REGISTRO Y MI PERFIL · Action Form (DNN Sharp)
   Cabecera: módulo HTML cuenta-cabecera.html.
   Formulario: Action Form con la clase "fd-af" (ver ACTION-FORM-CUENTA.md).
   Mismo lenguaje que el login: campos 58px, fondo #F8FBFA, foco verde.
========================================================== */
.fd-acct-head{position:relative;overflow:hidden;min-height:260px;display:flex;align-items:flex-end;background:var(--fd-green-deep);color:#fff;}
.fd-acct-head canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.fd-acct-head-inner{position:relative;z-index:2;width:100%;max-width:900px;margin:0 auto;padding:56px 32px 44px;display:flex;flex-direction:column;gap:12px;}
.fd-acct-head h1{margin:0;font-size:clamp(30px,3.4vw,46px);line-height:1.08;font-weight:200;letter-spacing:-.01em;text-transform:uppercase;color:#fff;}
.fd-acct-head p{margin:0;max-width:560px;font-size:15px;line-height:1.7;font-weight:300;color:rgba(255,255,255,.88);}

.fd-af{max-width:900px;margin:-28px auto 110px;padding:44px 48px 48px;position:relative;z-index:3;background:#fff;border-radius:24px;
  box-shadow:0 30px 80px -40px rgba(15,38,32,.35);font-family:var(--fd-font);}
.fd-af *{box-sizing:border-box;}
.fd-af .form-group,.fd-af .dnnsf-field{margin-bottom:14px;}
.fd-af label,.fd-af .control-label{display:block;margin:0 0 6px 4px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--fd-green-mid);}
.fd-af input[type=text],.fd-af input[type=email],.fd-af input[type=tel],.fd-af input[type=password],.fd-af input[type=date],
.fd-af input[type=number],.fd-af select,.fd-af textarea,.fd-af .form-control{
  width:100% !important;height:54px;padding:0 18px;border-radius:12px !important;border:1px solid #DCE8E4 !important;background:#F8FBFA !important;
  box-shadow:none !important;outline:none;font-family:inherit;font-size:14.5px;font-weight:400;color:var(--fd-ink);
  transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;}
.fd-af textarea{height:auto;min-height:110px;padding:14px 18px;}
.fd-af input:hover,.fd-af select:hover{border-color:#C3D8D1 !important;}
.fd-af input:focus,.fd-af select:focus,.fd-af textarea:focus,.fd-af .form-control:focus{border-color:var(--fd-green-mid) !important;background:#fff !important;box-shadow:0 0 0 3px rgba(28,106,85,.12) !important;}
.fd-af input[disabled],.fd-af input[readonly]{color:var(--fd-muted);background:#F1F5F3 !important;}
/* Opciones de tipo de piel: tarjetas */
.fd-af .radio,.fd-af .radio-inline{display:inline-block;margin:0 8px 8px 0;padding:0;}
.fd-af .radio label,.fd-af .radio-inline label,.fd-af label.radio-inline{display:flex;align-items:center;gap:10px;min-height:52px;margin:0;padding:12px 16px;border-radius:12px;
  border:1px solid #DCE8E4;background:#F8FBFA;font-size:13.5px;letter-spacing:0;text-transform:none;font-weight:300;color:var(--fd-ink);cursor:pointer;transition:border-color .25s ease,background .25s ease;}
.fd-af .radio label:hover,.fd-af label.radio-inline:hover{border-color:#C3D8D1;}
.fd-af input[type=radio],.fd-af input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--fd-green-mid);flex:0 0 auto;position:static;}
.fd-af .radio label:has(input:checked),.fd-af label.radio-inline:has(input:checked){border-color:var(--fd-green-mid);background:#fff;color:var(--fd-green-dark);font-weight:400;}
.fd-af .checkbox label{display:flex;align-items:flex-start;gap:12px;margin:6px 0 0;font-size:14px;letter-spacing:0;text-transform:none;font-weight:300;color:var(--fd-body);}
/* Títulos de sección (campo "HTML/Label" del form con la clase fd-af-sec) */
.fd-af .fd-af-sec{margin:22px 0 12px 4px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--fd-green);}
.fd-af .fd-af-sec:first-child{margin-top:0;}
/* Validación */
.fd-af .has-error input,.fd-af .has-error select,.fd-af .ng-invalid.ng-touched{border-color:#D9897F !important;background:#FFF8F7 !important;}
.fd-af .help-block,.fd-af .text-danger,.fd-af .validation-error{display:block;margin:6px 0 0 4px;font-size:12px;color:#B23A2E;}
/* Botón */
.fd-af .btn,.fd-af button[type=submit],.fd-af input[type=submit]{display:inline-flex;align-items:center;justify-content:center;width:100%;height:54px;margin-top:10px;
  border:0 !important;border-radius:27px !important;background:var(--fd-green-mid) !important;color:#fff !important;cursor:pointer;
  font-family:inherit;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;box-shadow:none !important;transition:background .25s ease;}
.fd-af .btn:hover,.fd-af button[type=submit]:hover{background:var(--fd-green-dark) !important;}
.fd-af a{color:var(--fd-green-mid);font-weight:500;}
.fd-af .alert-success{border:0;border-radius:12px;background:#EEF7F3;color:var(--fd-green-dark);}
.fd-af .alert-danger{border:0;border-radius:12px;background:#FFF3F1;color:#8E2A20;}
@media (max-width:767.98px){
  .fd-acct-head{min-height:210px;}
  .fd-acct-head-inner{padding:40px 20px 40px;}
  .fd-af{margin:-20px 12px 80px;padding:28px 20px 32px;border-radius:20px;}
  .fd-af .radio,.fd-af .radio-inline{display:block;margin-right:0;}
}

/* Catálogo: la raíz ahora es .fd-catalog-page (header + listado) */
.fd-catalog-page{position:relative;z-index:0;isolation:isolate;}
.fd-catalog-page .fd-catalog{padding-top:48px;}
.is-loading .fd-catalog-grid{min-height:420px;background:linear-gradient(90deg,#F4F7F5 0%,#FBFCFB 50%,#F4F7F5 100%);background-size:200% 100%;border-radius:18px;animation:fdCatShimmer 1.4s linear infinite;}
[data-modo="favoritos"] .fd-catalog-bar{flex-direction:row;}
[data-modo="favoritos"] .fd-cat-tools{width:100%;}
/* Login de DNN (Authentication/module.css trae width:500px): se fija acá para que
   no se pierda al actualizar DNN */
.fd-loginmodal-panel .dnnLogin,.fd-loginmodal-panel .dnnLoginService,.fd-loginmodal-panel .LoginPanel,
.fd-loginmodal-panel .dnnForm,.fd-login-card .dnnLogin,.fd-login-card .LoginPanel{width:auto !important;max-width:100% !important;}

/* ==========================================================
   RESULTADOS DE BÚSQUEDA (/resultado-de-busqueda)
   Página propia (busqueda.html + busqueda.js), independiente del catálogo.
   Usa la búsqueda de DNN: el módulo Search Results queda en la página,
   oculto, y sus estilos propios ya no hacen falta.
========================================================== */
.fd-busqueda-page{position:relative;z-index:0;isolation:isolate;}
body:has(.fd-busqueda-page) .DnnModule-SearchResults{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}
.fd-bus{max-width:1200px;margin:0 auto;padding:48px 56px 110px;}
.fd-bus-bar{margin-bottom:40px;}
.fd-cat-search{position:relative;display:flex;align-items:center;gap:14px;width:100%;height:64px;margin:0;padding:0 26px;border-radius:32px;
  border:1px solid #DCE8E4;background:#F8FBFA;cursor:text;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;}
.fd-cat-search:focus-within{border-color:var(--fd-green-mid);background:#fff;box-shadow:0 0 0 4px rgba(28,106,85,.1);}
.fd-cat-search i{font-size:17px;color:var(--fd-green-mid);}
.fd-cat-search input{flex:1;min-width:0;height:62px;border:0;background:transparent;outline:none;font-family:inherit;font-size:17px;font-weight:300;color:var(--fd-ink);}
.fd-bus-h2{display:flex;align-items:baseline;gap:12px;margin:0 0 22px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--fd-green-mid);}
.fd-bus-h2 span{font-size:11px;letter-spacing:.04em;font-weight:500;color:var(--fd-muted);}
.fd-bus [data-bus-productos]:not(:empty){margin-bottom:56px;}
.fd-bus-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.fd-bus-item{display:flex;flex-direction:column;gap:10px;padding:24px 26px;border-radius:18px;border:1px solid #E3EEEA;background:#fff;text-decoration:none;
  animation:fdBusIn .6s cubic-bezier(.22,1,.36,1) both;transition:border-color .3s ease,box-shadow .45s ease,transform .45s cubic-bezier(.22,1,.36,1);}
.fd-bus-item:hover{border-color:rgba(28,106,85,.35);box-shadow:0 18px 40px -24px rgba(18,49,42,.35);transform:translateY(-3px);}
.fd-bus-item-title{font-size:18px;line-height:1.3;font-weight:400;color:var(--fd-green-dark);text-wrap:balance;}
.fd-bus-item-text{font-size:14px;line-height:1.65;font-weight:300;color:var(--fd-body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.fd-bus-item-text b,.fd-bus-item-text strong{font-weight:500;color:var(--fd-green-dark);background:rgba(127,190,183,.22);padding:0 2px;border-radius:3px;}
.fd-bus-item-go{margin-top:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--fd-green-mid);}
.fd-bus-vacio{padding:56px 24px;text-align:center;border:1px dashed var(--fd-line,#EAEFEC);border-radius:18px;}
.fd-bus-vacio p{max-width:560px;margin:0 auto 22px;font-size:16px;line-height:1.6;font-weight:300;color:var(--fd-body);}
.fd-bus-vacio[hidden]{display:none;}
.fd-busqueda-page.is-loading [data-bus-productos],.fd-busqueda-page.is-loading [data-bus-otros]{opacity:.45;transition:opacity .2s ease;}
@keyframes fdBusIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@media (max-width:767.98px){.fd-bus{padding:32px 18px 80px;}.fd-bus-list{grid-template-columns:minmax(0,1fr);}.fd-cat-search{height:56px;padding:0 20px;}.fd-cat-search input{height:54px;font-size:16px;}}
@media (prefers-reduced-motion:reduce){.fd-bus-item{animation:none;}}

/* ==========================================================
   HOME · ajustes (menú mobile, banner, líneas, sellos, misión)
========================================================== */
/* Menú mobile: sin líneas divisorias */
.fd-drawer-bar{border-bottom:0 !important;}
.fd-drawer-body a,.fd-drawer-body>div{border-top:0 !important;border-bottom:0 !important;}
/* Misión: la imagen también abre la descripción */
.fd-mod-acc-img{cursor:pointer;}
@media (max-width:767.98px){
  /* "Nuestras líneas": título y "Ver más" uno debajo del otro, como en Productos */
  .fd-mod-lines>.d-flex{flex-direction:column;align-items:flex-start !important;gap:10px;}

  /* Banner: alineado a la izquierda y el título se enciende palabra por palabra */
  .fd-mod-hero{align-items:flex-start !important;}
  .fd-mod-hero-copy{max-width:100% !important;padding:40px 24px 0 !important;text-align:left;align-items:flex-start;}
  .fd-mod-hero-title{text-align:left;}

  /* Sellos: píldoras una debajo de la otra; al tocar gira y muestra la descripción */
  .fd-mod-cred-row{display:flex !important;flex-direction:column;gap:10px;border-radius:0 !important;overflow:visible !important;margin:0 !important;}
  .fd-mod-cred-row>*{border:0 !important;margin:0 !important;flex:0 0 auto !important;width:100% !important;max-width:100% !important;}
  .fd-mod-credentials .fd-mod-cred-card{position:relative;display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 20px !important;
    border-radius:34px;background:#F4F8F6 !important;overflow:visible !important;cursor:pointer;-webkit-tap-highlight-color:transparent;
    transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,1,.36,1),min-height .45s cubic-bezier(.22,1,.36,1),background .3s ease;}
  .fd-mod-credentials .fd-mod-cred-card::after{content:"+";position:absolute;right:20px;top:50%;margin-top:-12px;width:24px;height:24px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:300;color:var(--fd-green-mid);background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-mod-credentials .fd-mod-cred-icon{width:36px;height:36px;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-mod-credentials .fd-mod-cred-title{padding-right:34px;font-size:13.5px;line-height:1.3;opacity:1 !important;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-mod-credentials .fd-mod-cred-detail{position:absolute !important;inset:0;display:flex !important;align-items:center;margin:0 !important;padding:12px 24px !important;
    border-radius:34px;background:var(--fd-green-dark) !important;color:#fff !important;font-size:13px;line-height:1.45;font-weight:300;
    opacity:1 !important;transform:rotateX(180deg) !important;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none !important;}
  .fd-mod-credentials .fd-mod-cred-card.is-flip{transform:rotateX(180deg);}
  .fd-mod-credentials .fd-mod-cred-card:active{background:#EDF4F1 !important;}
}
@media (max-width:767.98px) and (prefers-reduced-motion:reduce){
  .fd-mod-credentials .fd-mod-cred-card{transition:none;}
}

/* ==========================================================
   AJUSTES · banner de la home (lento) + diagnóstico (resultado)
========================================================== */
@media (max-width:767.98px){
}
.fd-dx{overflow-anchor:none;}
.fd-dx-cardacts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;}
.fd-dx-cardacts .fd-dx-more{margin:0;}
.fd-dx-buy{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 20px;border-radius:19px;
  background:var(--fd-green-dark);color:#fff !important;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:background .25s ease;}
.fd-dx-buy:hover{background:var(--fd-green-mid);}
[data-dx-actions]{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
@media (max-width:767.98px){
  .fd-dx-slots,[data-dx-slots]{scroll-behavior:smooth;}
}
/* ==========================================================
   SELLOS EN PÍLDORA (hub y ficha) + barra de compra mobile
   Mismo tratamiento que los sellos de la home.
========================================================== */
@media (max-width:767.98px){
  .fd-credentials{padding-left:20px !important;padding-right:20px !important;}
  .fd-cred-row{display:flex !important;flex-direction:column;gap:10px;border-radius:0 !important;overflow:visible !important;margin:0 !important;}
  .fd-cred-row>*{border:0 !important;margin:0 !important;flex:0 0 auto !important;width:100% !important;max-width:100% !important;}
  .fd-credentials .fd-cred-card{position:relative;display:flex;align-items:center;gap:14px;min-height:68px;padding:12px 20px !important;
    border-radius:34px;background:#F4F8F6 !important;overflow:visible !important;cursor:pointer;-webkit-tap-highlight-color:transparent;
    transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,1,.36,1),min-height .45s cubic-bezier(.22,1,.36,1);}
  .fd-credentials .fd-cred-card::after{content:"+";position:absolute;right:20px;top:50%;margin-top:-12px;width:24px;height:24px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:300;color:var(--fd-accent,var(--fd-green-mid));background:#fff;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-credentials .fd-cred-icon{width:36px;height:36px;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-credentials .fd-cred-title{padding-right:34px;font-size:13.5px;line-height:1.3;opacity:1 !important;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
  .fd-credentials .fd-cred-detail{position:absolute !important;inset:0;display:flex !important;align-items:center;margin:0 !important;padding:12px 24px !important;
    border-radius:34px;background:var(--fd-accent-dark,var(--fd-green-dark)) !important;color:#fff !important;font-size:13px;line-height:1.45;font-weight:300;
    opacity:1 !important;transform:rotateX(180deg) !important;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:none !important;}
  .fd-credentials .fd-cred-card.is-flip{transform:rotateX(180deg);}

  /* Barra de compra: el nombre ya no pisa el botón */
  .fd-ctabar{padding:10px 14px !important;gap:12px !important;}
  .fd-ctabar-info{flex:1 1 auto;min-width:0;gap:10px !important;}
  .fd-ctabar-info img{width:36px !important;height:36px !important;}
  .fd-ctabar-info>div{min-width:0;}
  .fd-ctabar-info .name{white-space:normal !important;font-size:12.5px !important;line-height:1.25;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  .fd-ctabar-info .line{display:none;}
  .fd-ctabar>.fd-btn{flex:0 0 auto;height:42px !important;padding:0 18px !important;font-size:11.5px;}
}
@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.fd-credentials .fd-cred-card{transition:none;}}

/* ==========================================================
   /ingresar · ancho parejo y "Recordar" con un solo recuadro
   (solo la tarjeta de la página; el popup no se toca)
========================================================== */
.fd-login-card .fd-login-mounted,.fd-login-card .dnnForm,.fd-login-card .dnnLogin,.fd-login-card .LoginPanel,
.fd-login-card .fd-login-native,.fd-login-card .fd-login-field,.fd-login-card .fd-login-row,
.fd-login-card .fd-login-submit,.fd-login-card .dnnPrimaryAction{width:100% !important;max-width:none !important;box-sizing:border-box;}
.fd-login-card .fd-login-mounted{display:block;margin:0 !important;padding:0 !important;}
.fd-login-card .dnnFormItem{width:100% !important;margin:0 !important;padding:0 !important;}
/* DNN dibuja su propio recuadro (dnnCheckbox) encima del checkbox: se deja uno solo */
.fd-login-card .dnnCheckbox{display:inline-flex !important;align-items:center;width:auto !important;height:auto !important;background:none !important;border:0 !important;padding:0 !important;}
.fd-login-card .dnnCheckbox>.mark,.fd-login-card .dnnCheckbox img{display:none !important;}
.fd-login-card input[type=checkbox]{position:static !important;opacity:1 !important;clip:auto !important;width:18px !important;height:18px !important;margin:0 !important;
  appearance:auto !important;-webkit-appearance:checkbox !important;border:0 !important;box-shadow:none !important;background:none !important;accent-color:var(--fd-green-mid);}
.fd-login-card input[type=checkbox]::before,.fd-login-card input[type=checkbox]::after{display:none !important;content:none !important;}

/* ==========================================================
   POPUP DE INGRESO · ancho completo, "Recordar" con un solo
   recuadro y siempre el link para crear la cuenta
========================================================== */
.fd-loginmodal-panel .fd-login-mounted,.fd-loginmodal-panel .dnnForm,.fd-loginmodal-panel .dnnLogin,.fd-loginmodal-panel .LoginPanel,
.fd-loginmodal-panel .dnnLoginService,.fd-loginmodal-panel .fd-login-native,.fd-loginmodal-panel .fd-login-field,
.fd-loginmodal-panel .fd-login-row,.fd-loginmodal-panel .dnnFormItem,.fd-loginmodal-panel .fd-login-submit,
.fd-loginmodal-panel .dnnPrimaryAction,.fd-loginmodal-panel [id$="_UP"],.fd-loginmodal-panel [id$="_ModuleContent"],
.fd-loginmodal-panel .DnnModule,.fd-loginmodal-panel .DNNModuleContent{
  width:100% !important;max-width:none !important;min-width:0 !important;box-sizing:border-box !important;
  margin-left:0 !important;margin-right:0 !important;float:none !important;}
.fd-loginmodal-panel .fd-login-field input{width:100% !important;max-width:none !important;box-sizing:border-box !important;}
/* Recordar: un solo recuadro */
.fd-loginmodal-panel .dnnCheckbox{display:inline-flex !important;align-items:center;width:auto !important;height:auto !important;background:none !important;border:0 !important;padding:0 !important;}
.fd-loginmodal-panel .dnnCheckbox>.mark,.fd-loginmodal-panel .dnnCheckbox img{display:none !important;}
.fd-loginmodal-panel input[type=checkbox]{position:static !important;opacity:1 !important;clip:auto !important;width:18px !important;height:18px !important;margin:0 !important;
  appearance:auto !important;-webkit-appearance:checkbox !important;border:0 !important;box-shadow:none !important;background:none !important;accent-color:var(--fd-green-mid);}
.fd-loginmodal-panel input[type=checkbox]::before,.fd-loginmodal-panel input[type=checkbox]::after{display:none !important;content:none !important;}
/* Crear cuenta: siempre el nuestro (va a /registro); el del módulo de DNN se oculta */
.fd-loginmodal-panel .fd-login-crear,.fd-panel-login:has(.fd-login-secondary) .fd-login-crear{display:block !important;}
.fd-loginmodal-panel .fd-login-crear{margin-top:22px !important;padding-top:20px;border-top:1px solid #EEF3F1;text-align:center;font-size:13.5px;}
.fd-loginmodal-panel .fd-login-crear a{display:inline-flex;align-items:center;justify-content:center;width:100%;height:50px;margin-top:10px;border-radius:25px;
  border:1px solid rgba(18,49,42,.22);color:var(--fd-green-dark) !important;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;}
.fd-loginmodal-panel .fd-login-crear a:hover{border-color:var(--fd-green-dark);}

/* ==========================================================
   AJUSTES · crear cuenta en /ingresar + fotos de "Nuestras líneas"
========================================================== */
/* /ingresar: el "Crear mi cuenta" del diseño, a /registro (el JS le pone el link) */
.fd-login-card .fd-login-secondary,.fd-login-card a[href*="/registro"]{display:flex !important;}
/* Nuestras líneas: el velo sobre la foto, más suave */
.fd-mod-linecard-scrim{background:linear-gradient(180deg,rgba(var(--fd-scrim-rgb,0,0,0),0) 34%,rgba(var(--fd-scrim-rgb,0,0,0),.38) 100%) !important;}
.fd-mod-linecard.is-active .fd-mod-linecard-scrim{background:linear-gradient(180deg,rgba(var(--fd-scrim-rgb,0,0,0),0) 22%,rgba(var(--fd-scrim-rgb,0,0,0),.48) 100%) !important;}

/* ==========================================================
   AJUSTES DE CONTENIDO · hubs y fichas
========================================================== */
/* Descripción corta en las tarjetas (2 renglones) */
.fd-prod-desc{margin:8px 0 0;font-size:13px;line-height:1.55;font-weight:300;color:var(--fd-body);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.55em * 2);}
/* Notas del hub: la imagen entera, como en el blog (sin recorte ni zoom) */
.fd-note-thumb{height:auto !important;aspect-ratio:1.72/1;overflow:hidden;padding:0 !important;background:#F2F7F5 !important;border:0 !important;}
.fd-note-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1);}
.fd-hub-notes-grid a:hover .fd-note-thumb img{transform:scale(1.03);}
/* "Tu rutina completa": la bajada en un renglón */
.fd-rutina-sub{max-width:none !important;}
/* Solar: todos los títulos en naranja */
.fd-hub-page[data-linea="solar"] .fd-h2,.fd-hub-page[data-linea="solar"] .fd-mod-h2,
.fd-hub-page[data-linea="solar"] .fd-modh-active-name,.fd-hub-page[data-linea="solar"] .fd-modh-eyebrow{color:#E87200 !important;}
/* Modo de uso: sol y luna */
.fd-uso-badge i+i{margin-left:-2px;}
/* Antes / Después: línea que sigue al control, etiquetas que indican qué se ve */
.fd-babe .fd-babe-line{display:none !important;}
.fd-babe-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.35);pointer-events:none;z-index:2;}
.fd-babe-handle{z-index:3;}
.fd-babe-tag{z-index:3;cursor:pointer;opacity:.55;transition:opacity .35s ease,background .35s ease,color .35s ease,transform .35s ease;}
.fd-babe-tag.is-on{opacity:1;}
.fd-babe[data-ver="antes"] .fd-babe-tag:first-of-type,.fd-babe[data-ver="despues"] .fd-babe-tag:last-of-type{background:var(--fd-accent,var(--fd-green-dark));color:#fff;transform:scale(1.06);}
.fd-babe:focus-visible{outline:3px solid rgba(28,106,85,.35);outline-offset:3px;}
@media (max-width:767.98px){
  .fd-texture .fd-babe{height:340px;}
}
/* "Cómo actúa en tu piel": aire entre párrafos */
.fd-hub-active .fd-modh-active-copy{margin:0;}
.fd-hub-active .fd-modh-active-copy+.fd-modh-active-copy{margin-top:18px;}

/* ==========================================================
   RITMO VERTICAL · hubs y fichas
   Todas las secciones con la misma separación. Se cambia en un
   solo lugar: --fd-sec (desktop) y --fd-sec-m (mobile).
   La cabecera (hero / galería) y la barra de compra no se tocan.
========================================================== */
:root{--fd-sec:72px;--fd-sec-m:48px;}
.fd-hub-page>section,
.fd-texture,.fd-uso,.fd-ingredients,.fd-formula,.fd-rutina,.fd-credentials,.fd-related,.fd-faq{
  padding-top:var(--fd-sec) !important;padding-bottom:var(--fd-sec) !important;margin-top:0 !important;margin-bottom:0 !important;}
/* Dos secciones blancas seguidas: no se suma doble espacio */
.fd-hub-page>section:not(.fd-texture)+section:not(.fd-texture),
.fd-uso+.fd-ingredients,.fd-uso+.fd-formula,.fd-formula+.fd-rutina,.fd-ingredients+.fd-rutina,
.fd-rutina+.fd-credentials,.fd-credentials+.fd-related,.fd-related+.fd-faq{padding-top:0 !important;}
/* Títulos de sección: misma distancia al contenido */
.fd-hub-page>section .fd-h2,.fd-texture>.fd-h2,.fd-uso .fd-h2,.fd-formula .fd-h2,.fd-ingredients .fd-h2,
.fd-rutina .fd-mod-h2,.fd-credentials .fd-h2,.fd-related .fd-h2,.fd-faq .fd-h2{margin-bottom:32px !important;}
.fd-faq{padding-bottom:calc(var(--fd-sec) + 40px) !important;}
@media (max-width:767.98px){
  .fd-hub-page>section,
  .fd-texture,.fd-uso,.fd-ingredients,.fd-formula,.fd-rutina,.fd-credentials,.fd-related,.fd-faq{
    padding-top:var(--fd-sec-m) !important;padding-bottom:var(--fd-sec-m) !important;}
  .fd-hub-page>section:not(.fd-texture)+section:not(.fd-texture),
  .fd-uso+.fd-ingredients,.fd-uso+.fd-formula,.fd-formula+.fd-rutina,.fd-ingredients+.fd-rutina,
  .fd-rutina+.fd-credentials,.fd-credentials+.fd-related,.fd-related+.fd-faq{padding-top:0 !important;}
  .fd-faq{padding-bottom:calc(var(--fd-sec-m) + 80px) !important;}
}

/* ==========================================================
   LOGIN · "Crear mi cuenta" único y prolijo (popup y /ingresar)
   Se usa el botón del diseño (debajo de "¿Todavía no tenés cuenta?").
========================================================== */
.fd-login-crear{display:none !important;}
.fd-loginmodal-panel .fd-login-secondary,.fd-login-card .fd-login-secondary,
.fd-loginmodal-panel a[href*="/registro"]:not(.fd-acct-foot a),.fd-login-card a[href*="/registro"]{
  display:flex !important;align-items:center;justify-content:center;width:100% !important;height:52px;margin:14px 0 0 !important;padding:0 20px !important;
  border-radius:26px !important;border:1px solid rgba(18,49,42,.25) !important;background:#fff !important;color:var(--fd-green-dark) !important;
  font-size:12px !important;letter-spacing:.14em;text-transform:uppercase;font-weight:600 !important;text-decoration:none !important;box-shadow:none !important;
  transition:border-color .25s ease,background .25s ease;}
.fd-loginmodal-panel .fd-login-secondary:hover,.fd-login-card .fd-login-secondary:hover{border-color:var(--fd-green-dark) !important;background:rgba(18,49,42,.04) !important;}
/* Campos y botones del mismo ancho que el panel */
.fd-loginmodal-panel .fd-login-mounted div,.fd-login-card .fd-login-mounted div{max-width:none !important;}
.fd-loginmodal-panel .fd-login-mounted input[type=text],.fd-loginmodal-panel .fd-login-mounted input[type=password],
.fd-login-card .fd-login-mounted input[type=text],.fd-login-card .fd-login-mounted input[type=password]{width:100% !important;}
/* Recordar: casilla y texto juntos */
.fd-loginmodal-panel .fd-login-row label,.fd-login-card .fd-login-row label,
.fd-loginmodal-panel .dnnCheckbox+label,.fd-login-card .dnnCheckbox+label{padding-left:0 !important;margin:0 0 0 10px !important;width:auto !important;float:none !important;text-align:left !important;}
.fd-loginmodal-panel .fd-login-row > *:first-child,.fd-login-card .fd-login-row > *:first-child{display:inline-flex;align-items:center;}
/* Popup: que entre completo en la pantalla */
.fd-loginmodal-panel{max-height:calc(100dvh - 40px);}

/* Notas del hub: proporción del boceto original (1.72:1), la imagen llena la caja anclada abajo */
.fd-note-thumb{aspect-ratio:1.72/1;height:auto !important;border-radius:16px;overflow:hidden;}
.fd-note-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center bottom;}

/* ==========================================================
   LOGIN · ajuste final (un solo "Crear mi cuenta", fila de
   "Recordar / Reiniciar" y popup a pantalla completa en mobile)
========================================================== */
.fd-login-dup{display:none !important;}
/* El del diseño, con flecha, se respeta tal cual */
.fd-loginmodal-panel .fd-login-secondary:not(.fd-login-mounted .fd-login-secondary),
.fd-login-card .fd-login-secondary:not(.fd-login-mounted .fd-login-secondary){gap:10px;}
/* Recordar a la izquierda, Reiniciar a la derecha; si no entran, uno debajo del otro */
.fd-loginmodal-panel .fd-login-row,.fd-login-card .fd-login-row{display:flex !important;flex-wrap:wrap;align-items:center;justify-content:space-between !important;gap:10px 16px !important;margin:6px 0 4px;}
.fd-loginmodal-panel .fd-login-row > *:first-child,.fd-login-card .fd-login-row > *:first-child{display:inline-flex !important;align-items:center;gap:10px;}
.fd-loginmodal-panel .fd-login-row label,.fd-login-card .fd-login-row label{margin:0 !important;}
@media (max-width:767.98px){
  /* Popup: ocupa todo el ancho y alto del celular */
  .fd-loginmodal{padding:0 !important;align-items:stretch !important;}
  .fd-loginmodal-shell{width:100vw !important;max-width:100vw !important;min-height:100dvh;margin:0 !important;border-radius:0 !important;}
  .fd-loginmodal-panel{max-height:none !important;min-height:0;}
  .fd-loginmodal-panel .fd-login-row{flex-direction:column;align-items:flex-start !important;}
}

/* ==========================================================
   FICHA · aire bajo la compra, paso actual de la rutina y comparador
========================================================== */
/* Separación entre "Comprar / Favoritos" y la sección siguiente */
.fd-product-hero{padding-bottom:72px !important;}
.fd-product-hero + *,.fd-product-hero ~ .fd-texture:first-of-type{margin-top:0 !important;}
@media (max-width:767.98px){.fd-product-hero{padding-bottom:48px !important;}}

/* Rutina: el paso actual solo con el contorno verde (sin fondo tintado ni sombra),
   así la foto con fondo blanco no se recorta contra un recuadro */
.fd-rutina-step.is-current{background:#fff !important;box-shadow:none !important;
  border:2px solid var(--fd-accent,var(--fd-green-mid)) !important;padding:25px 21px 27px;}
.fd-rutina-step.is-current .fd-rutina-media,.fd-rutina-step.is-current .fd-rutina-media img{background:transparent !important;box-shadow:none !important;filter:none !important;}

/* Antes / Después: entra la mayor parte de la foto (sin tanto zoom), manteniendo la proporción */
.fd-babe{height:auto !important;aspect-ratio:3 / 2 !important;max-height:none !important;background:#F2F5F4 !important;}
.fd-babe img{object-fit:cover;object-position:center center;}

@media (max-width:767.98px){.fd-texture .fd-babe{height:auto !important;aspect-ratio:3 / 2 !important;}}

/* ==========================================================
   POPUP DE INGRESO · tamaño, fondo quieto y recuperar contraseña
========================================================== */
/* Fondo quieto mientras el popup está abierto */
html.fd-lm-lock,html.fd-lm-lock body{overflow:hidden !important;}
html.fd-lm-lock body{position:fixed !important;left:0;right:0;width:100%;}

/* Desktop: más ancho, sin espacio muerto a la derecha y todo en una pantalla */
@media (min-width:768px){
  .fd-loginmodal-shell{max-width:860px !important;grid-template-columns:minmax(0,.82fr) minmax(0,1fr) !important;max-height:calc(100vh - 40px) !important;}
  .fd-loginmodal-panel{padding:36px 44px 30px !important;display:flex !important;flex-direction:column;justify-content:center;}
  .fd-loginmodal-panel > *,.fd-loginmodal-panel .fd-panel-login-real,.fd-loginmodal-panel [data-dnn-login-anchor]{width:100% !important;max-width:none !important;}
  .fd-loginmodal-panel .fd-title{font-size:22px !important;line-height:1.15;margin:0 48px 18px 0 !important;}
  .fd-loginmodal-panel .fd-login-field input{height:52px !important;}
  .fd-loginmodal-panel .fd-login-field{margin-bottom:10px !important;}
  .fd-loginmodal-panel .fd-login-submit,.fd-loginmodal-panel .dnnPrimaryAction{height:50px !important;margin-top:6px !important;}
  .fd-loginmodal-panel .fd-login-crear{margin-top:16px !important;padding-top:14px !important;}
  .fd-loginmodal-panel .fd-login-crear a,.fd-loginmodal-panel .fd-login-secondary{height:46px !important;margin-top:8px !important;}
}
/* "Cancelar" sobra en el popup (está la X) */
.fd-loginmodal-panel a[id$="cancelLink"],.fd-loginmodal-panel .dnnSecondaryAction[href*="javascript"],.fd-loginmodal-panel .fd-login-cancel{display:none !important;}

/* Mobile: el popup ocupa toda la pantalla y se desplaza adentro */
@media (max-width:767.98px){
  .fd-loginmodal{padding:0 !important;}
  .fd-loginmodal-shell{position:fixed !important;inset:0 !important;width:100% !important;max-width:none !important;height:100% !important;max-height:none !important;
    margin:0 !important;border-radius:0 !important;display:flex !important;flex-direction:column;overflow-y:auto !important;-webkit-overflow-scrolling:touch;transform:none !important;}
  .fd-loginmodal-aside{flex:0 0 auto;min-height:150px !important;}
  .fd-loginmodal-panel{flex:1 0 auto;overflow:visible !important;padding:26px 22px 36px !important;}
  .fd-loginmodal-panel > *{width:100% !important;max-width:none !important;}
}

/* Recuperar / nueva contraseña: misma caja, se cambia la vista */
.fd-reset{display:none;}
.fd-mode-reset > *:not(.fd-reset):not(.fd-loginmodal-close),.fd-mode-nueva > *:not(.fd-reset):not(.fd-loginmodal-close){display:none !important;}
.fd-mode-reset .fd-reset,.fd-mode-nueva .fd-reset{display:block;animation:fdPanelItemIn .45s cubic-bezier(.22,.9,.28,1) both;}
.fd-reset-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;padding:0;border:0;background:none;cursor:pointer;font-family:inherit;
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--fd-green-mid);}
.fd-reset-back:hover{color:var(--fd-green-dark);}
.fd-reset-title{margin:0 0 10px !important;}
.fd-reset-lead{margin:0 0 20px;font-size:14px;line-height:1.65;font-weight:300;color:var(--fd-body);}
.fd-reset-field{position:relative;display:block;margin:0 0 10px;}
.fd-reset-field input{width:100%;height:52px;padding:20px 18px 6px;border-radius:12px;border:1px solid #DCE8E4;background:#F8FBFA;outline:none;
  font-family:inherit;font-size:14.5px;color:var(--fd-ink);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;}
.fd-reset-field input:focus{border-color:var(--fd-green-mid);background:#fff;box-shadow:0 0 0 3px rgba(28,106,85,.12);}
.fd-reset-field span{position:absolute;left:19px;top:16px;font-size:14px;font-weight:300;color:var(--fd-muted);pointer-events:none;transform-origin:left top;
  transition:transform .22s cubic-bezier(.22,.9,.28,1),color .22s ease;}
.fd-reset-field input:focus+span,.fd-reset-field input:not(:placeholder-shown)+span{transform:translateY(-9px) scale(.76);color:var(--fd-green-mid);font-weight:500;}
.fd-reset-submit{width:100%;height:50px;margin-top:6px;justify-content:center;border:0;cursor:pointer;font-family:inherit;}
.fd-reset-submit.is-busy{opacity:.7;pointer-events:none;}
.fd-reset-msg{margin:6px 0 4px;padding:12px 16px;border-radius:12px;font-size:13.5px;line-height:1.55;}
.fd-reset-msg.is-ok{background:#EEF7F3;color:var(--fd-green-dark);}
.fd-reset-msg.is-error{background:#FFF3F1;color:#8E2A20;}
/* El formulario propio de DNN para la nueva clave queda oculto cuando se usa el nuestro */
html.fd-hay-reset .dnnPasswordReset{display:none !important;}

/* ==========================================================
   PLACEHOLDERS DE CARGA · catálogo y pilares de Quiénes somos
========================================================== */
/* Título del catálogo: contorno vacío hasta saber la página */
[data-cat-title][data-cat-pending]{color:transparent !important;position:relative;min-width:min(420px,70vw);}
[data-cat-title][data-cat-pending]::after{content:"";position:absolute;left:0;top:50%;width:100%;height:.72em;margin-top:-.36em;border-radius:8px;
  background:rgba(255,255,255,.22);animation:fdPhPulse 1.4s ease-in-out infinite;}
/* Pilares: fondo liso con un loading suave hasta el primer cuadro del video */
.fd-ns-card{background:#E9F1EE !important;}
.fd-ns-card video{opacity:0;transition:opacity .6s ease;}
.fd-ns-card.is-video-ready video{opacity:1;}
.fd-ns-card::after{content:"";position:absolute;left:50%;top:42%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;z-index:1;
  border:2px solid rgba(28,106,85,.18);border-top-color:var(--fd-green-mid);animation:fdPhSpin .9s linear infinite;pointer-events:none;transition:opacity .4s ease;}
.fd-ns-card.is-video-ready::after{opacity:0;animation:none;}
@keyframes fdPhSpin{to{transform:rotate(360deg);}}
@keyframes fdPhPulse{0%,100%{opacity:.5;}50%{opacity:1;}}
@media (prefers-reduced-motion:reduce){.fd-ns-card::after,[data-cat-title][data-cat-pending]::after{animation:none;}}

/* ==========================================================
   FICHA · modo de uso con los mismos márgenes laterales (mobile)
========================================================== */
@media (max-width:767.98px){
  .fd-uso{padding-left:20px !important;padding-right:20px !important;}
  .fd-uso .row{--bs-gutter-x:0;margin-left:0;margin-right:0;}
  .fd-uso .row>*{padding-left:0;padding-right:0;}
  .fd-uso-video{margin-top:24px;border-radius:18px;overflow:hidden;}
}

/* ==========================================================
   FICHA · cabecera de "Tu rutina completa" y modo de uso alineado
========================================================== */
/* Título + link en la misma línea, la bajada justo debajo */
.fd-rutina-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:24px;row-gap:12px;margin-bottom:40px;}
.fd-rutina-head .fd-mod-h2{margin:0 !important;}
.fd-rutina-head .fd-mod-link{justify-self:end;margin:0 0 6px;white-space:nowrap;}
.fd-rutina-head .fd-rutina-sub{grid-column:1 / -1;margin:0 !important;max-width:none !important;}
/* La rutina va sobre fondo blanco y los ingredientes no: necesita su espacio arriba */
.fd-ingredients+.fd-rutina,.fd-formula+.fd-rutina{padding-top:var(--fd-sec-m,90px) !important;}
@media (max-width:767.98px){
  .fd-rutina-head{grid-template-columns:minmax(0,1fr);margin-bottom:28px;}
  .fd-rutina-head .fd-mod-link{justify-self:start;margin:0;}
  .fd-rutina-head .fd-rutina-sub{grid-row:3;}
  .fd-ingredients+.fd-rutina,.fd-formula+.fd-rutina{padding-top:var(--fd-sec-m,56px) !important;}
  /* Modo de uso: título, texto y video al mismo borde que el resto de la ficha */
  .fd-uso{padding-left:20px !important;padding-right:20px !important;}
  .fd-uso .row,.fd-uso .fd-uso-grid{--bs-gutter-x:0 !important;margin-left:0 !important;margin-right:0 !important;}
  .fd-uso .row>*,.fd-uso .fd-uso-copy,.fd-uso .fd-uso-video{padding-left:0 !important;padding-right:0 !important;margin-left:0 !important;margin-right:0 !important;width:100% !important;}
  .fd-uso .fd-h2,.fd-uso-head{margin-left:0 !important;padding-left:0 !important;}
}

/* ==========================================================
   IMÁGENES QUE LLENAN SU CAJA · modo de uso y "Cómo actúa en tu piel"
   La caja tiene una proporción fija y la imagen/video la cubre
   (sin franjas blancas arriba y abajo), centrada.
========================================================== */
.fd-uso-video{aspect-ratio:16 / 9;overflow:hidden;background:#F2F5F4;}
.fd-uso-video video,.fd-uso-video img{display:block;width:100% !important;height:100% !important;object-fit:cover !important;object-position:center;transform:none !important;}
.fd-modh-active-media{aspect-ratio:4 / 3;overflow:hidden;border-radius:18px;background:#F2F5F4;}
.fd-modh-active-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;}
@media (max-width:767.98px){
  .fd-uso-video{aspect-ratio:4 / 3;}
  .fd-modh-active-media{aspect-ratio:4 / 3;}
}

/* ==========================================================
   POPUP DE INGRESO · formulario a todo el ancho en mobile
========================================================== */
@media (max-width:767.98px){
  .fd-loginmodal-panel div:not(.fd-login-row):not(.fd-login-row div):not(.dnnCheckbox):not(.dnnCheckbox div),
  .fd-loginmodal-panel input[type=text],.fd-loginmodal-panel input[type=password],.fd-loginmodal-panel input[type=email],
  .fd-loginmodal-panel .fd-login-submit,.fd-loginmodal-panel .dnnPrimaryAction,.fd-loginmodal-panel .fd-login-secondary,
  .fd-loginmodal-panel .fd-login-crear,.fd-loginmodal-panel .fd-login-crear a{width:100% !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;box-sizing:border-box !important;}
  .fd-loginmodal-panel .fd-login-row{width:100% !important;}
}
/* Recordar: casilla y texto juntos */
.fd-loginmodal-panel .fd-login-row label,.fd-login-card .fd-login-row label{padding-left:0 !important;margin-left:0 !important;text-indent:0 !important;}
.fd-loginmodal-panel .fd-login-row > *:first-child,.fd-login-card .fd-login-row > *:first-child{gap:12px !important;}

/* ==========================================================
   AJUSTES · Solar en naranja, imágenes que llenan, login, home, nosotros
========================================================== */
/* Fichas Solar: todo el acento en naranja */
[data-current-line="solar"]{--fd-accent:#E87200;--fd-accent-dark:#B45A00;}
[data-current-line="solar"] .fd-h2,[data-current-line="solar"] .fd-stats-title,[data-current-line="solar"] .fd-product-tagline,
[data-current-line="solar"] .fd-ing-head span,[data-current-line="solar"] .fd-rutina-label{color:#E87200 !important;}
[data-current-line="solar"] .fd-btn-buy,[data-current-line="solar"] .fd-ctabar .fd-btn,[data-current-line="solar"] .fd-btn-dark{background:#E87200 !important;border-color:#E87200 !important;}
[data-current-line="solar"] .fd-btn-buy:hover,[data-current-line="solar"] .fd-ctabar .fd-btn:hover{background:#B45A00 !important;}
[data-current-line="solar"] .fd-stat-icon,[data-current-line="solar"] .fd-stat-num,[data-current-line="solar"] .fd-cred-icon i,
[data-current-line="solar"] .fd-resumen-head i{color:#E87200 !important;}
[data-current-line="solar"] .fd-stat-icon{background:rgba(232,114,0,.1) !important;}
[data-current-line="solar"] .fd-uso-badge{color:#E87200 !important;border-color:#E87200 !important;background:rgba(232,114,0,.08) !important;}
[data-current-line="solar"] .fd-rutina-step.is-current{border-color:#E87200 !important;}
[data-current-line="solar"] .fd-cred-detail{background:#B45A00 !important;}
[data-current-line="solar"] .fd-btn-fav.is-active i{color:#E87200;}

/* Modo de uso y "Eficacia comprobada": la imagen llena el recuadro, sin márgenes blancos */
.fd-uso-video img,.fd-babe.fd-babe-static img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center !important;display:block;}
.fd-babe.fd-babe-static{background:transparent !important;}

/* Tarjetas: descripción en minúscula aunque venga en mayúsculas */
.fd-prod-desc,.fd-mod-prod-desc{text-transform:none !important;}

/* Login: la etiqueta flotante con aire respecto del borde */
.fd-login-native .fd-login-field input{padding-top:24px !important;padding-bottom:8px !important;}
.fd-login-native .fd-login-field input:focus + .fd-login-floating,
.fd-login-native .fd-login-field input:not(:placeholder-shown) + .fd-login-floating{top:9px !important;transform:none !important;font-size:10.5px !important;line-height:1.2;letter-spacing:.08em;}

/* Home: el nombre del producto es link a la ficha */
a.fd-mod-prod-name{color:inherit;text-decoration:none;}
a.fd-mod-prod-name:hover{color:var(--fd-green-mid);}
@media (max-width:767.98px){
  /* Banner: el texto arriba y a la izquierda, sin pisar el pack */
  .fd-mod-hero{justify-content:flex-start !important;}
  .fd-mod-hero-copy{padding:28px 24px 0 !important;max-width:68% !important;}
  .fd-mod-hero-title{font-size:clamp(24px,7vw,30px) !important;line-height:1.12;}
}

/* Quiénes somos: el header queda; más aire antes de los pilares */
.fd-ns-top{position:relative;z-index:2;}
.fd-ns.is-live .fd-ns-pilares{margin-top:14vh;}

/* Modo de uso: el video llena siempre el recuadro (sin barras a los costados).
   La caja crece con el texto de al lado; el video se estira con ella y recorta. */
.fd-uso-video{position:relative !important;overflow:hidden !important;background:#F2F5F4;}
.fd-uso-video video,.fd-uso-video img{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:center !important;display:block;}
@media (min-width:768px){.fd-uso-video{aspect-ratio:auto !important;min-height:360px;align-self:stretch;}}
@media (max-width:767.98px){.fd-uso-video{aspect-ratio:16 / 9 !important;}}

/* Home · productos recomendados: descripción en 2 renglones */
.fd-mod-prod-desc{display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.55em * 2);line-height:1.55;}

/* ==========================================================
   SOLAR · ajustes de acento + imagen del activo responsive
========================================================== */
/* Badge de la línea: gris como en las demás líneas */
[data-current-line="solar"] .fd-badge-tint{background:#EEF3F1 !important;color:var(--fd-muted) !important;}
[data-current-line="solar"] .fd-badge-tint i{color:var(--fd-muted) !important;}
/* Preguntas frecuentes: solo el título en naranja; preguntas y respuestas como siempre */
[data-current-line="solar"] .fd-faq-head span{color:var(--fd-green-dark) !important;}
[data-current-line="solar"] .fd-faq-panel,[data-current-line="solar"] .fd-faq-panel *{color:var(--fd-body) !important;}
[data-current-line="solar"] .fd-faq-chev{color:var(--fd-green-dark) !important;}
/* Credenciales (ficha y hub Solar): al pasar el mouse, fondo naranja con letra blanca */
[data-current-line="solar"],.fd-hub-page[data-linea="solar"]{--fd-accent:#E87200;--fd-accent-dark:#B45A00;}
.fd-hub-page[data-linea="solar"] .fd-cred-icon i{color:#E87200 !important;}
[data-current-line="solar"] .fd-cred-detail,.fd-hub-page[data-linea="solar"] .fd-cred-detail{background:#B45A00 !important;color:#fff !important;}
@media (min-width:768px){
  [data-current-line="solar"] .fd-cred-card:hover,[data-current-line="solar"] .fd-cred-card:hover *,
  .fd-hub-page[data-linea="solar"] .fd-cred-card:hover,.fd-hub-page[data-linea="solar"] .fd-cred-card:hover *{color:#fff !important;}
  .fd-hub-page[data-linea="solar"] .fd-cred-card:hover{background:#E87200 !important;}
}
/* Hub · imagen del activo: llena su caja en cualquier ancho (sin franjas blancas) */
.fd-modh-active-media{position:relative;height:auto !important;aspect-ratio:4 / 3;overflow:hidden;}
.fd-modh-active-media img,.fd-modh-active-media video{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover;object-position:center;transform:none;}
@media (max-width:991.98px){.fd-modh-active-media{aspect-ratio:16 / 10;}}
@media (max-width:575.98px){.fd-modh-active-media{aspect-ratio:4 / 3;}.fd-hub-active{padding:28px 20px !important;}}

/* Newsletter de la home: estados del envío */
.fd-mod-newsletter-msg{min-height:1.4em;margin:12px 0 0;font-size:13.5px;font-weight:400;text-align:center;transition:opacity .3s ease;}
.fd-mod-newsletter-msg:empty{opacity:0;}
.fd-mod-newsletter-msg.is-ok{color:var(--fd-green-mid);}
.fd-mod-newsletter-msg.is-error{color:#B23A2E;}
[data-fd-news].is-busy .fd-mod-newsletter-btn{opacity:.6;pointer-events:none;}

/* Hub (mobile): el cartel arriba y los packs abajo, para que no se tapen */
@media (max-width:767.98px){
  .fd-hub-hero{min-height:520px;}
  .fd-hub-hero > div[style*="position:absolute"]:not(picture){align-items:flex-start !important;padding:22px 20px 0 !important;}
  .fd-hub-hero-copy{padding:22px 24px !important;max-width:none !important;}
  .fd-hub-hero-copy h1{font-size:clamp(28px,8.4vw,36px) !important;margin-bottom:10px !important;}
  .fd-hub-hero-copy p{font-size:14px !important;line-height:1.5 !important;margin:0 !important;}
  .fd-hub-hero picture img,.fd-hub-hero > img{object-position:center bottom !important;}
}

/* === SOLO HOY · sin botones de compra (borrar mañana) ===
   Header, menú mobile, fichas, barra inferior, diagnóstico y popup de la home */
a[href*="tienda.andromaco"], .fd-btn-buy, .fd-dx-buy, .fd-ctabar, .fd-peek-btn-ghost{ display:none !important; }
