/* Sidjong Mengue · portada en Elementor (contenedores con clases sm-*) */
.sm-home,.sm-home *{box-sizing:border-box}
.sm-home{max-width:1320px;margin:0 auto!important;padding:24px 24px 0!important;display:flex!important;flex-direction:column!important;gap:64px!important;font-family:var(--sm-font);color:var(--sm-ink)}
.sm-home .e-con{padding:0;gap:0}
.sm-home .elementor-widget{margin:0!important}
.sm-home .elementor-heading-title{margin:0;font-family:var(--sm-font)}
.sm-home p{margin:0}
.sm-col{display:flex!important;flex-direction:column!important}
.sm-row{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:12px!important;align-items:center}
.sm-top{gap:14px!important}

/* Botones en píldora */
.sm-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:50px;padding:0 24px;border-radius:25px;border:0;font:500 15px/1 var(--sm-font);white-space:nowrap;cursor:pointer;transition:background .2s}
.sm-btn .elementor-button-content-wrapper{display:flex;align-items:center;gap:9px}
.sm-btn .elementor-button-icon{font-size:18px;display:flex}
.sm-btn--green .elementor-button{background:var(--sm-green);color:#fff}
.sm-btn--green .elementor-button:hover{background:var(--sm-green-h);color:#fff}
.sm-btn--ghost .elementor-button{background:transparent;color:#2F3A31;border:1px solid #2F3A31}
.sm-btn--ghost .elementor-button:hover{background:#F3E7D4;color:#2F3A31}
.sm-btn--orange .elementor-button{background:var(--sm-orange);color:#2A2118;font-weight:600}
.sm-btn--orange .elementor-button:hover{background:var(--sm-orange-h);color:#2A2118}
.sm-btn--white .elementor-button{background:#fff;color:#2F3A31;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.sm-btn--gold .elementor-button{background:var(--sm-gold);color:#2B3A30;font-weight:600}
.sm-btn--gold .elementor-button:hover{background:var(--sm-sand);color:#2B3A30}
.sm-btn--sm .elementor-button{height:40px;padding:0 16px;border-radius:20px;font-size:14px}
.sm-btn--lg .elementor-button{height:54px;padding:0 28px;border-radius:27px;font-size:16px}
.sm-btn--orange.sm-btn--lg .elementor-button{box-shadow:0 8px 22px rgba(232,137,74,.35)}

/* Textos */
.sm-badge .elementor-heading-title{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:14px;background:#CFE3C6;color:#2F3A31;font-size:12px;font-weight:500;line-height:1.4}
.sm-badge--pink .elementor-heading-title{background:#F7D3DC}.sm-badge--blue .elementor-heading-title{background:#CDE4E6}.sm-badge--stone .elementor-heading-title{background:#E6E0D6}.sm-badge--mist .elementor-heading-title{background:#DDE6E6}.sm-badge--sand .elementor-heading-title{background:#F5DDB5}
.sm-badge i{color:#5C8A58}
.sm-h1 .elementor-heading-title{font-size:clamp(32px,4.2vw,56px);line-height:1.05;letter-spacing:-.03em;font-weight:500;color:#2F3A31;text-wrap:balance}
.sm-h2xl .elementor-heading-title{font-size:clamp(28px,3.4vw,44px);line-height:1.08;letter-spacing:-.03em;font-weight:500;color:#2F3A31;text-wrap:balance}
.sm-h2l .elementor-heading-title{font-size:clamp(26px,3.1vw,40px);line-height:1.1;letter-spacing:-.02em;font-weight:500;color:#2F3A31;text-wrap:balance}
.sm-lead,.sm-lead p{font-size:17px;line-height:1.55;color:var(--sm-ink3);max-width:31em;text-wrap:pretty}
.sm-eyebrow .elementor-heading-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-green);font-weight:600}

/* Carrusel principal */
.sm-hero{position:relative!important;border-radius:22px;overflow:hidden!important;display:block!important}
.sm-hero-track{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:0!important;transition:transform .65s cubic-bezier(.2,.7,.2,1);will-change:transform}
.elementor-editor-active .sm-hero-track{overflow-x:auto;scroll-snap-type:x mandatory}
.elementor-editor-active .sm-slide{scroll-snap-align:start}
.sm-slide{flex:0 0 100%!important;width:100%!important;max-width:100%!important;min-width:0;display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));background:var(--sm-surface);overflow:hidden}
.sm-slide-text{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:18px!important;padding:48px!important;align-items:flex-start}
.sm-slide--first .sm-slide-text{padding:56px 48px!important;gap:22px!important}
.sm-slide-text .sm-lead p{font-size:17px}
.sm-slide--first .sm-lead p{font-size:18px}
.sm-slide-media{position:relative!important;min-height:460px;overflow:hidden!important;background-color:#F3E7D4;background-size:cover;background-position:center;display:block!important}
.sm-slide-media::before{content:"";position:absolute;inset:-30px;background:inherit;filter:blur(26px) saturate(1.1);opacity:.9;z-index:0}
.sm-slide-media>.elementor-widget-image{position:absolute!important;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;width:100%!important;height:100%}
.sm-slide-media>.elementor-widget-image .elementor-widget-container,.sm-slide-media>.elementor-widget-image a{width:100%;height:100%;display:block}
.sm-slide-media img{width:100%!important;height:100%!important;max-width:none!important;object-fit:contain}
.sm-collage{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px!important;padding:20px!important;min-height:460px}
.sm-collage>.elementor-widget-image{position:relative;border-radius:16px;overflow:hidden;background:#F3E7D4;min-height:0}
.sm-collage>.elementor-widget-image:first-child{grid-row:span 2}
.sm-collage>.elementor-widget-image .elementor-widget-container{height:100%}
.sm-collage img{width:100%!important;height:100%!important;object-fit:cover;display:block}
.sm-slide--ad{display:block!important;position:relative!important;min-height:460px;aspect-ratio:3/1.35}
.sm-slide--ad>.sm-slide-media{position:absolute!important;inset:0;min-height:0}
.sm-slide--ad>.sm-row{position:absolute!important;left:16px;bottom:14px;z-index:3;width:auto!important;gap:8px!important}
.sm-hero__nav{position:absolute;bottom:10px;width:44px;height:44px;border-radius:22px;border:0;background:rgba(255,255,255,.95);color:#2F3A31;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(60,40,20,.18);z-index:4;font-size:20px}
.sm-hero__nav:hover{background:#fff}
.sm-hero__nav--prev{right:66px}.sm-hero__nav--next{right:14px}
.sm-hero__dots{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;gap:7px;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.85);z-index:4}
.sm-hero__dots button{height:8px;width:8px;border-radius:4px;border:0;padding:0;background:#C9B79A;cursor:pointer;transition:width .3s}
.sm-hero__dots button[aria-current=true]{width:24px;background:var(--sm-forest)}
@media (prefers-reduced-motion:reduce){.sm-hero-track{transition:none}}

/* Círculos de categorías */
.sm-circles{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px!important;max-width:760px;width:100%;margin:0 auto;padding:14px 16px!important;border-radius:16px;background:var(--sm-surface);border:1px solid var(--sm-line)}
.sm-circles .elementor-image-box-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;border-radius:12px;text-align:center}
.sm-circles .elementor-image-box-wrapper:hover{background:#F6EDE0}
.sm-circles .elementor-image-box-img{margin:0!important;width:auto!important}
.sm-circles .elementor-image-box-img img{width:56px!important;height:56px!important;border-radius:28px;object-fit:cover;display:block}
.sm-circles .elementor-image-box-title{margin:0!important;font-size:13px;font-weight:500;line-height:1.2;color:#2F3A31}
.sm-circles .elementor-image-box-title a{color:inherit;text-decoration:none}

/* Aviso de pago a plazos */
.sm-cta{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:16px!important;padding:14px 18px!important;border-radius:16px;background:var(--sm-surface);border:1px solid var(--sm-line)}
.sm-ic{flex:none;display:grid;place-items:center;border-radius:50%}
.sm-ic--44{width:44px;height:44px;background:var(--sm-sand);font-size:22px;color:var(--sm-forest)}
.sm-ic--40{width:40px;height:40px;background:#CFE3C6;font-size:22px;color:var(--sm-forest)}
.sm-cta__txt{flex:1 1 220px!important;min-width:220px;width:auto!important}
.sm-cta__txt .elementor-heading-title{font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--sm-forest)}
.sm-cta__txt p{font-size:13px;color:var(--sm-ink2)}
.sm-cta>.sm-row{width:auto!important;gap:8px!important}

/* Banners de colores */
.sm-banners{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px!important}
a.sm-banner,.sm-banner{display:flex!important;flex-direction:row!important;align-items:center!important;gap:18px!important;padding:24px 26px!important;border-radius:16px;text-decoration:none;transition:transform .2s}
.sm-banner:hover{transform:translateY(-2px)}
.sm-banner .sm-banner__ic{font-size:40px;flex:none;line-height:1}
.sm-banner .sm-banner__txt{flex:1;min-width:0;display:flex!important;flex-direction:column!important;gap:3px!important}
.sm-banner .elementor-heading-title{font-size:18px;font-weight:500;letter-spacing:-.01em;color:inherit}
.sm-banner p{font-size:13px;opacity:.9;color:inherit}
.sm-banner .sm-banner__arrow{font-size:20px;flex:none}
.sm-banner--forest{background:#2F4034;color:#F3F1E6}.sm-banner--clay{background:#D98A5C;color:#fff}.sm-banner--sand{background:#F6D58E;color:#2B3A30}

/* Sellos y beneficios con icono */
.sm-grid-seals{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px!important}
.sm-seal .elementor-icon-box-wrapper{display:flex;align-items:center;gap:14px;padding:18px 20px;border:1px solid var(--sm-line2);border-radius:14px;background:var(--sm-surface2);text-align:left}
.sm-seal .elementor-icon-box-icon{margin:0!important;flex:none}
.sm-seal .elementor-icon{width:58px;height:58px;border-radius:29px;border:2px solid currentColor;display:grid;place-items:center;font-size:28px;color:inherit}
.sm-seal .elementor-icon i{color:inherit}
.sm-seal--forest .elementor-icon{color:#2F4034}.sm-seal--moss .elementor-icon{color:#46594B}.sm-seal--clay .elementor-icon{color:#D98A5C}.sm-seal--brown .elementor-icon{color:#8C5A0E}
.sm-seal .elementor-icon-box-title{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--sm-forest)}
.sm-seal .elementor-icon-box-description{margin:0;font-size:12px;color:var(--sm-ink2);line-height:1.4}
