/* Design layer: consistent spacing, buttons and components across templates.
   Keeps the theme fonts (DM Sans / Figtree) and the existing palette. */
:root{
 --yf-ink:#0d173b;--yf-text:#3d4562;--yf-plum:#a83f6e;--yf-plum-dark:#873258;--yf-line:#ecd6e0;--yf-soft:#faf4f7;
 --yf-gutter:clamp(16px,4vw,32px);--yf-radius:14px;--yf-shadow:0 1px 2px rgba(13,23,59,.05),0 8px 24px rgba(13,23,59,.06);
}

/* Frame: several Elementor pages inherited a 22px body margin from a duplicated template. */
body[class*="elementor-page-"]{margin:0!important}

/* Typography rhythm */
:is(h1,h2,h3,.elementor-heading-title,.entry-title){text-wrap:balance}
:is(.elementor-widget-text-editor,.entry-content,.yfsc-content) p{text-wrap:pretty}
.elementor-widget-heading h1.elementor-heading-title{text-shadow:0 2px 18px rgba(13,23,59,.35)}

/* Focus */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--yf-plum);outline-offset:3px;border-radius:4px}

/* Buttons: one shape, comfortable target, wrapped labels centred */
.elementor-button,.wp-block-button__link,.yfsc-footer-book,.wpcf7-submit,input[type=submit]{border-radius:100px!important}
.elementor-button{min-height:48px;display:inline-flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.3!important;transition:background-color .2s,color .2s,border-color .2s,transform .2s}
.elementor-button .elementor-button-content-wrapper{justify-content:center}
.elementor-button:hover{transform:translateY(-1px)}
@media(prefers-reduced-motion:reduce){.elementor-button,.elementor-button:hover{transition:none;transform:none}}
/* The light green WhatsApp buttons need dark text to be legible. */
.elementor-button-success .elementor-button,.elementor-button-success .elementor-button:hover{color:var(--yf-ink)!important}
/* Authored block buttons inside Elementor sections were inheriting the link colour. */
:is(.yfsc-section,.yfsc-content) .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--yf-plum);color:#fff!important;text-decoration:none!important}
:is(.yfsc-section,.yfsc-content) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover{background:var(--yf-plum-dark);color:#fff!important}
:is(.yfsc-section,.yfsc-content) .is-style-outline .wp-block-button__link{background:#fff;color:var(--yf-plum-dark)!important;border:1px solid var(--yf-plum-dark);text-decoration:none!important}
:is(.yfsc-section,.yfsc-content) .is-style-outline .wp-block-button__link:hover{background:var(--yf-soft)}
:is(.yfsc-section,.yfsc-content) .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 26px;font-size:16px;line-height:1.4}
.yfsc-section .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;margin-bottom:8px}

/* Accordions (motives, FAQ): clean cards without the empty white band under each title */
.elementor-widget-n-accordion>.elementor-widget-container{background:transparent!important;padding:0!important;margin:0!important;border:0!important}
.elementor-widget-n-accordion .e-n-accordion-item{background:#fff;border:1px solid rgba(13,23,59,.08);border-radius:var(--yf-radius);box-shadow:var(--yf-shadow);overflow:hidden}
.elementor-widget-n-accordion .e-n-accordion-item+.e-n-accordion-item{margin-top:12px}
.elementor-widget-n-accordion .e-n-accordion-item-title{background:#fff!important;padding:18px 20px!important;gap:16px!important;align-items:center;cursor:pointer;transition:background-color .2s}
.elementor-widget-n-accordion .e-n-accordion-item-title:hover{background:var(--yf-soft)!important}
.elementor-widget-n-accordion .e-n-accordion-item-title-text{font-size:clamp(17px,1.05rem + .25vw,20px)!important;line-height:1.35!important;letter-spacing:.01em}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon{flex:none}
.elementor-widget-n-accordion .e-n-accordion-item-title-icon svg{width:16px;height:16px}
.elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title{background:var(--yf-soft)!important}
.elementor-widget-n-accordion .e-n-accordion-item>[role=region]{background:#fff!important;padding:4px 20px 20px!important;border-top:1px solid rgba(13,23,59,.06)}
.elementor-widget-n-accordion .e-n-accordion-item>[role=region] [role=region]{padding:0!important;border:0}
.elementor-widget-n-accordion [role=region] .elementor-widget-text-editor{font-size:17px;line-height:1.7}
.elementor-widget-n-accordion [role=region] .elementor-button-wrapper{text-align:left}

/* Inicio */
.home .elementor-element-4fa51f3{padding-left:var(--yf-gutter)!important;padding-right:var(--yf-gutter)!important;gap:32px 24px!important;max-width:1230px;margin-left:auto;margin-right:auto}
.home .elementor-element-4fa51f3>.e-con{align-items:center!important;text-align:center}
.home .elementor-element-4fa51f3 .elementor-widget-text-editor{text-align:center}
.home .elementor-element-f207b85{margin-top:36px!important}
.home .elementor-element-ae94b93{margin-top:28px!important}
.home .elementor-element-97da98b{padding-top:clamp(48px,6vw,80px)!important}
.home .elementor-element-9977bfa{padding-left:max(var(--yf-gutter),calc((100% - 1200px)/2))!important;padding-right:max(var(--yf-gutter),calc((100% - 1200px)/2))!important;gap:12px 24px!important}
.home .elementor-element-9977bfa>.e-con{flex:1 1 0!important;min-width:0;margin:0!important;width:auto!important}
.home .elementor-element-9977bfa .e-con:not([role=region]){gap:12px!important;padding:0!important}
.home .elementor-element-9977bfa .elementor-widget-spacer{display:none}
.home .elementor-element-9977bfa .elementor-widget-n-accordion{width:100%}
.home .elementor-element-9977bfa .e-n-accordion-item-title-text{text-transform:none}
.home .elementor-element-9977bfa .e-n-accordion-item+.e-n-accordion-item{margin-top:0}
.home .elementor-element-2e4528f{gap:12px!important}
.home .elementor-element-d2dee22 h4 img,.elementor-element-41769a8 img{vertical-align:middle;margin-right:10px}
.home .elementor-element-d2dee22 h4{display:flex;align-items:center;gap:10px;margin:28px 0 10px}
.home .elementor-element-d2dee22 h4 img{margin:0;flex:none}
.home .elementor-element-d2dee22 ul{padding-left:20px}
.home .yfsc-service-card{display:flex!important;flex-direction:column!important;box-shadow:var(--yf-shadow)}
.home .yfsc-service-card .elementor-widget-button{margin-top:auto!important}
.home .elementor-element-e9ac588 .meafe-post-img img,.home .elementor-element-e9ac588 img{border-radius:var(--yf-radius)}
@media(max-width:1024px){
 .home .elementor-element-4fa51f3{--e-con-grid-template-columns:repeat(3,1fr)!important}
 .home .elementor-element-9977bfa{flex-direction:column!important}
 .home .elementor-element-9977bfa>.e-con{width:100%!important;flex:none!important}
}
@media(max-width:767px){
 .home .elementor-element-4fa51f3{--e-con-grid-template-columns:repeat(2,1fr)!important;gap:28px 16px!important}
 .home .elementor-element-4fa51f3>.e-con:last-child{grid-column:1/-1}
 .home .elementor-element-4fa51f3 .elementor-widget-image img{max-width:56px}
}

/* Services cards (Inicio y Servicios): equal heights, actions aligned at the bottom */
.yfsc-service-card .elementor-button,.yfsc-service-card .elementor-button:hover{border-radius:100px}

/* Native pages, posts and archives */
.breadcrumb-wrapper{padding:14px var(--yf-gutter)!important}
.breadcrumb-wrapper #crumbs{max-width:1200px;margin:0 auto}
.yfsc-editorial-page .entry-header .entry-title{max-width:790px;margin:0 auto 24px;font-size:clamp(34px,1.4rem + 2.4vw,48px)}
.single-post .entry-content :is(h2,h2[class^=yf-original]){font-size:clamp(26px,1.1rem + 1.2vw,32px)!important;line-height:1.3!important;margin:44px 0 16px}
.single-post .entry-content :is(h3,h3[class^=yf-original]){font-size:clamp(21px,1rem + .5vw,24px)!important;line-height:1.35!important;margin:32px 0 12px}
.page-template-default:not(.yfsc-editorial-page) .entry-content :is(h2,h2[class^=yf-original]){font-size:clamp(26px,1.1rem + 1.2vw,32px)!important;line-height:1.3!important;margin:40px 0 14px}
.page-template-default:not(.yfsc-editorial-page) .entry-content :is(h3,h3[class^=yf-original]){font-size:clamp(20px,1rem + .4vw,23px)!important;line-height:1.4!important;margin:28px 0 10px}
.single-post .entry-content img,.blog .post-thumbnail img,.archive .post-thumbnail img{border-radius:var(--yf-radius)}
.single-post .entry-content figure{margin:28px 0}

/* Contacto: the left column only repeated the booking button already present below */
.page-id-18 .elementor-element-026268a{display:none!important}
.page-id-18 .elementor-element-d50c426>.e-con-inner,.page-id-18 .elementor-element-d50c426{justify-content:center}
.page-id-18 .elementor-element-379bd75{width:100%!important;max-width:1000px;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px 56px;padding:clamp(24px,4vw,44px)!important;background:#fff;border:1px solid rgba(13,23,59,.08);border-radius:var(--yf-radius);box-shadow:var(--yf-shadow)}
.page-id-18 .elementor-element-379bd75>.elementor-element-41769a8,.page-id-18 .elementor-element-379bd75>.elementor-element-46257fb{grid-column:1}
.page-id-18 .elementor-element-379bd75>.elementor-element-37d9f0c{grid-column:2;grid-row:1/span 2}
.page-id-18 .elementor-element-379bd75>.elementor-element-a64aab7{grid-column:1/-1;flex-wrap:wrap;gap:12px}
.page-id-18 .elementor-element-379bd75 :is(h2,h3,h4) img{vertical-align:middle}
.page-id-18 .elementor-element-996ee7e iframe{border-radius:var(--yf-radius)}
@media(max-width:767px){
 .page-id-18 .elementor-element-379bd75{grid-template-columns:1fr}
 .page-id-18 .elementor-element-379bd75>*{grid-column:1!important;grid-row:auto!important}
}

/* Forms */
:is(.wpcf7,.comment-form) :is(input:not([type=submit]):not([type=checkbox]),textarea,select){border-radius:10px;transition:border-color .2s,box-shadow .2s}
:is(.wpcf7,.comment-form) :is(input,textarea,select):focus{border-color:var(--yf-plum)!important;box-shadow:0 0 0 3px rgba(168,63,110,.15);outline:0}

/* Mobile: comfortable gutters for full-width Elementor rows */
@media(max-width:767px){
 .elementor-widget-n-accordion .e-n-accordion-item-title{padding:16px 18px!important}
 .elementor-widget-n-accordion .e-n-accordion-item>[role=region]{padding:4px 18px 18px!important}
}

/* Links on the light teal location band: use the palette's plum for legible contrast */
.home .elementor-element-3d51eb7 a:not(.elementor-button){color:var(--yf-plum-dark)!important}

/* Inicio: icon grid alignment and tighter vertical rhythm on small screens */
.home .elementor-element-4fa51f3 .elementor-widget-image{width:100%;text-align:center}
@media(max-width:1024px){
 .home .elementor-element-be46ca4,.home .elementor-element-ccbf4ee{display:none}
 .home .elementor-element-7347951{margin-top:56px!important}
}
@media(max-width:767px){
 .home .elementor-element-28f449d>.elementor-widget-container{margin-top:0!important}
 .home .elementor-element-9ae1838{padding-top:8px!important}
 .home .elementor-element-12e1175{grid-column:1/-1}
}

/* Tablet: wider side gutters than the 15px phone default */
@media(min-width:601px) and (max-width:1024px){
 .elementor .e-con.e-parent{--padding-left:24px!important;--padding-right:24px!important}
}

/* Grid: keep section content on the theme's 1200px column; backgrounds stay full width */
.elementor>.e-con.e-parent.e-con-full:not(.yfsc-section){padding-left:max(var(--padding-left,0px),var(--yf-gutter),calc((100% - 1200px)/2))!important;padding-right:max(var(--padding-right,0px),var(--yf-gutter),calc((100% - 1200px)/2))!important}
@media(min-width:1025px){
 .elementor>.e-con.e-con-boxed>.e-con-inner{max-width:min(var(--content-width),1200px,calc(100% - 2 * var(--yf-gutter)))}
}

/* Servicios: legacy headings inside the perinatal row match the other service titles */
.elementor-page-15 .elementor-element-11db943 h2{font-size:28px!important;line-height:1.3!important;margin:36px 0 12px}
/* Sobre mí: the bordered call to action sits on the content column, as on Inicio */
.elementor-page-14 .elementor-element-2abd616{width:min(1200px,calc(100% - 2 * var(--yf-gutter)))!important;margin-left:auto!important;margin-right:auto!important}

/* Page heroes: a soft veil keeps white titles legible on light photographs */
body:not(.elementor-page-34688) .elementor>.e-con.e-parent:first-child:has(h1){box-shadow:inset 0 0 0 100vmax rgba(13,23,59,.2)}
/* Contacto: both FAQ columns share the same edges when stacked */
@media(max-width:767px){
 .page-id-18 .elementor-element-de7adbf .e-con:not([role=region]){margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;width:100%!important}
}

/* Image credits read below the picture instead of over it */
.entry-content .wp-block-image figcaption.wp-element-caption{position:static!important;background:none!important;color:var(--yf-text)!important;font-size:13px;line-height:1.5;padding:8px 0 0!important;margin:0!important;text-align:center;overflow-wrap:anywhere}
.entry-content .wp-block-image figcaption.wp-element-caption a{color:inherit}

/* Reservar cita: phone gutters and an unbroken e-mail address */
@media(max-width:767px){
 .elementor-page-34688 .ap-booking{margin-left:16px!important;margin-right:16px!important;width:auto!important}
 .elementor-page-34688 .elementor-icon-box-description{font-size:16px;overflow-wrap:break-word}
 .elementor-page-34688 .elementor-element-e0b3e2c .elementor-widget-icon-box{padding:20px!important}
}

/* Buttons keep a visible keyboard focus ring on light backgrounds */
body.keyboard-nav-on .site :is(a,button,input,textarea,select,summary):focus,body .site :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--yf-plum)!important;outline-offset:3px!important}

/* Sobre mí: value cards in two columns on tablets */
@media(min-width:601px) and (max-width:1024px){
 .elementor-page-14 .elementor-element-f3a8aa7>.e-con-inner:has(>.hover-effect){flex-direction:row!important;flex-wrap:wrap!important;gap:20px!important}
 .elementor-page-14 .elementor-element-f3a8aa7>.e-con-inner>.hover-effect{width:calc(50% - 10px)!important;max-width:none!important;flex:none!important;margin:0!important}
}

/* Inicio: the decorative pink shape beside the portrait must not widen the page */
.home .elementor-element-9ae1838{overflow-x:clip!important}
/* Google reviews carousel: its -8px card gutters must stay inside the page */
@media(max-width:1024px){.ti-widget .ti-reviews-container{padding-left:8px;padding-right:8px}}
