/* CFM Elementor Widgets */
.cfm-hero-slider{position:relative;width:100%;min-height:420px;overflow:hidden;background:#081c08;color:#fef7e7!important;font-family:'Figtree',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.cfm-hero-track,.cfm-hero-slide{height:100%;width:100%}
.cfm-hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;background-position:center;background-size:cover;background-repeat:no-repeat;transition:opacity .75s ease,visibility .75s ease;display:flex;align-items:center}
.cfm-hero-slide.is-active{opacity:1;visibility:visible;z-index:2}
.cfm-hero-slide::before{content:"";position:absolute;inset:0;background:#000;opacity:.42;z-index:2;pointer-events:none}
.cfm-hero-media{position:absolute;inset:0;z-index:1;overflow:hidden}
.cfm-hero-video{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.77vh;transform:translate(-50%,-50%);object-fit:cover;border:0;pointer-events:none}
.cfm-hero-content-wrap{position:relative;z-index:3;width:100%;padding:clamp(32px,7vw,96px)}
.cfm-hero-content{width:min(100%,1160px);margin:0 auto}
.cfm-hero-content h2{font-family:'Figtree',system-ui,sans-serif;font-weight:900;font-size:clamp(2.6rem,7vw,7.5rem);line-height:.92;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 22px;color:#fef7e7!important;max-width:980px}
.cfm-hero-content p{font-weight:300;font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.55;max-width:680px;margin:0 0 32px;color:#fef7e7!important}
.cfm-hero-content[style*="center"] h2,.cfm-hero-content[style*="center"] p{margin-left:auto;margin-right:auto}
.cfm-hero-content[style*="right"] h2,.cfm-hero-content[style*="right"] p{margin-left:auto}
.cfm-hero-button{display:inline-flex;align-items:center;gap:10px;background:#8ee68d;color:#081c08!important;text-decoration:none;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:15px 24px;transition:transform .2s ease,background .2s ease,color .2s ease}
.cfm-hero-button:hover{transform:translateY(-2px);background:#fef7e7;color:#081c08!important}
.cfm-hero-button.is-disabled{opacity:.7;cursor:default}
.cfm-hero-arrow{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:1px solid rgba(254,247,231,.45);background:rgba(8,28,8,.5);color:#fef7e7;font-size:34px;line-height:1;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}
.cfm-hero-arrow:hover{background:#8ee68d;color:#081c08;border-color:#8ee68d}
.cfm-hero-prev{left:22px}.cfm-hero-next{right:22px}
.cfm-hero-dots{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:10px;z-index:5}
.cfm-hero-dots button{width:11px;height:11px;padding:0;border-radius:50%;border:1px solid rgba(254,247,231,.7);background:transparent;cursor:pointer}
.cfm-hero-dots button.is-active{background:#8ee68d;border-color:#8ee68d}
@media (max-width:767px){.cfm-hero-slider{min-height:560px}.cfm-hero-content-wrap{padding:28px 24px 72px}.cfm-hero-content h2{font-size:clamp(2.4rem,14vw,4.5rem)}.cfm-hero-arrow{display:none}.cfm-hero-content p{font-size:1rem}.cfm-hero-button{padding:13px 20px;font-size:.85rem}}


/* Widget: categorías de locaciones */
.cfm-location-categories{display:grid;gap:28px;width:100%;font-family:'Figtree',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#000}
.cfm-location-categories--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cfm-location-categories--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cfm-location-categories--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cfm-location-cat-card{background:#fef7e7;border:1px solid rgba(8,28,8,.12);border-radius:28px;overflow:hidden;box-shadow:0 18px 48px rgba(8,28,8,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.cfm-location-cat-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(8,28,8,.14);border-color:rgba(142,230,141,.85)}
.cfm-location-cat-card__link{display:block;height:100%;color:inherit!important;text-decoration:none!important}
.cfm-location-cat-card__image{position:relative;overflow:hidden;background:#081c08;display:flex;align-items:center;justify-content:center}
.cfm-location-cat-card__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.cfm-location-cat-card:hover .cfm-location-cat-card__image img{transform:scale(1.04)}
.cfm-location-cat-card__placeholder{font-family:'Figtree',system-ui,sans-serif;font-weight:900;font-size:2.6rem;letter-spacing:.08em;color:#8ee68d}
.cfm-location-cat-card__body{padding:24px 24px 26px}
.cfm-location-cat-card__body h3{margin:0;color:#081c08!important;font-family:'Figtree',system-ui,sans-serif;font-weight:900;font-size:clamp(1.35rem,2vw,2rem);line-height:1.08;text-transform:uppercase;letter-spacing:-.035em}
.cfm-location-cat-card__description{margin-top:12px;color:#000;font-family:'Figtree',system-ui,sans-serif;font-weight:300;font-size:1rem;line-height:1.55}
.cfm-location-cat-card__description p{margin:0 0 10px;color:#000}.cfm-location-cat-card__description p:last-child{margin-bottom:0}
.cfm-location-categories-empty{padding:24px;border-radius:16px;background:#fef7e7;color:#081c08;border:1px solid rgba(8,28,8,.12)}
@media (max-width:1024px){.cfm-location-categories--cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.cfm-location-categories--cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.cfm-location-categories,.cfm-location-categories--cols-2,.cfm-location-categories--cols-3,.cfm-location-categories--cols-4{grid-template-columns:1fr;gap:20px}.cfm-location-cat-card{border-radius:22px}.cfm-location-cat-card__body{padding:20px}}


/* Widget Elementor: Casas productoras */
.cfm-elementor-productoras-heading{margin:0 0 30px;color:var(--cfm-dark,#081c08);font-size:clamp(34px,5vw,58px);line-height:1}
.cfm-elementor-productoras-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cfm-elementor-productoras-grid .cfm-productora-card{height:100%;margin:0}
.cfm-elementor-productoras-empty{padding:22px;border:1px dashed rgba(8,28,8,.25);border-radius:18px;background:rgba(254,247,231,.7);color:#273327}
@media(max-width:1024px){.cfm-elementor-productoras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cfm-elementor-productoras-grid{grid-template-columns:1fr;gap:20px}}

/* Widget: servicios de locaciones */
.cfm-location-services{display:grid;gap:30px 24px;width:100%;font-family:'Figtree',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#081c08}
.cfm-location-services--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cfm-location-services--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cfm-location-services--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cfm-location-services--cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cfm-location-services--cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}
.cfm-location-service-card{min-width:0;text-align:center}
.cfm-location-service-card__link{display:flex;flex-direction:column;align-items:center;gap:14px;color:inherit!important;text-decoration:none!important}
.cfm-location-service-card__image{display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.cfm-location-service-card__image img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s ease}
.cfm-location-service-card__placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border:1px dashed rgba(8,28,8,.25);border-radius:50%;font-size:2rem;font-weight:300;color:rgba(8,28,8,.45)}
.cfm-location-service-card__title{margin:0;color:#081c08!important;font-family:'Figtree',system-ui,sans-serif;font-weight:700;font-size:1rem;line-height:1.25;letter-spacing:0;text-transform:none}
.cfm-location-service-card--linked .cfm-location-service-card__link:hover .cfm-location-service-card__image img{transform:translateY(-3px) scale(1.04)}
.cfm-location-service-card--linked .cfm-location-service-card__link:hover .cfm-location-service-card__title{text-decoration:underline;text-underline-offset:4px}
.cfm-location-services-empty{padding:24px;border-radius:16px;background:#fef7e7;color:#081c08;border:1px solid rgba(8,28,8,.12)}
@media (max-width:1024px){.cfm-location-services--cols-6,.cfm-location-services--cols-5,.cfm-location-services--cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.cfm-location-services,.cfm-location-services--cols-2,.cfm-location-services--cols-3,.cfm-location-services--cols-4,.cfm-location-services--cols-5,.cfm-location-services--cols-6{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 16px}}

/* Widget Elementor: Entradas */
.cfm-posts-heading{margin:0 0 30px;color:var(--cfm-dark,#081c08);font-size:clamp(34px,5vw,58px);line-height:1}
.cfm-posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cfm-post-card{height:100%;min-width:0;overflow:hidden;border-radius:24px;background:#fef7e7;border:1px solid rgba(8,28,8,.12);box-shadow:0 16px 42px rgba(8,28,8,.08);transition:transform .25s ease,box-shadow .25s ease}
.cfm-post-card:hover{transform:translateY(-4px);box-shadow:0 22px 54px rgba(8,28,8,.14)}
.cfm-post-card__image{display:flex;align-items:center;justify-content:center;width:100%;height:250px;overflow:hidden;background:#081c08;text-decoration:none!important}
.cfm-post-card__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.cfm-post-card:hover .cfm-post-card__image img{transform:scale(1.035)}
.cfm-post-card__placeholder{color:#8ee68d;font-size:2.5rem;font-weight:900;letter-spacing:.06em}
.cfm-post-card__body{padding:24px}
.cfm-post-card__title{margin:0 0 12px;color:#081c08!important;font-family:'Figtree',system-ui,sans-serif;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:800;line-height:1.12;letter-spacing:-.025em}
.cfm-post-card__title a{color:inherit!important;text-decoration:none!important}
.cfm-post-card__title a:hover{text-decoration:underline!important;text-underline-offset:4px}
.cfm-post-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 14px;color:rgba(8,28,8,.68);font-family:'Figtree',system-ui,sans-serif;font-size:.86rem;line-height:1.3}
.cfm-post-card__separator{opacity:.6}
.cfm-post-card__description{color:#273327;font-family:'Figtree',system-ui,sans-serif;font-size:1rem;font-weight:300;line-height:1.55}
.cfm-posts-empty{padding:22px;border:1px dashed rgba(8,28,8,.25);border-radius:18px;background:rgba(254,247,231,.7);color:#273327}
@media(max-width:1024px){.cfm-posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cfm-posts-grid{grid-template-columns:1fr;gap:20px}.cfm-post-card{border-radius:20px}.cfm-post-card__body{padding:20px}}
