/* ===========================================================================
    Replanta · Kit CSS v4 — Design System Global
    ===========================================================================
    Uso:  Elementor > Site Settings > Custom CSS   ←  pegar tal cual
       ó  wp_enqueue_style('replanta-kit', get_stylesheet_directory_uri().'/replanta-kit.css')
    Fonts:  Sora (display) + Inter (body) · Google Fonts
    Icons:  Phosphor Icons 2.1.1 ← enqueue en functions.php:
            wp_enqueue_script('phosphor-icons','https://unpkg.com/@phosphor-icons/web@2.1.1',[],null,false);
    =========================================================================== */

/* ===== Google Fonts ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300..800&family=Sora:wght@300..800&display=swap');

/* ===== Design Tokens ===== */
:root{
  /* Palette */
  --rep-green:#93F1C9;
  --rep-forest:#1E2F23;
  --rep-teal:#41999F;
  --rep-sun:#F7D450;
  --rep-mint:#92F1CB;
  --rep-white:#FFFFFF;
  --rep-bg-light:#F7FBF9;
  --rep-text-secondary:#3B4B45;
  --rep-text-tertiary:#547065;
  --rep-text-muted:#6B7D76;
  --rep-border:#E6F3EF;
  /* Brand Gradient — mint → teal → deep teal */
  --rep-grad:linear-gradient(135deg,#93F1C9 0%,#41999F 50%,#2A6B70 100%);
  /* Shadows (2-layer for depth) */
  --rep-shadow-sm:0 1px 2px 0 rgba(30,47,35,.05);
  --rep-shadow-md:0 4px 6px -1px rgba(30,47,35,.10),0 2px 4px -1px rgba(30,47,35,.06);
  --rep-shadow-lg:0 10px 15px -3px rgba(30,47,35,.10),0 4px 6px -2px rgba(30,47,35,.05);
  /* Typography */
  --rep-font-display:'Sora',system-ui,-apple-system,sans-serif;
  --rep-font-body:'Inter',system-ui,-apple-system,sans-serif;
  /* Spacing (4px base) */
  --rep-space-xs:4px;--rep-space-sm:8px;--rep-space-md:16px;
  --rep-space-lg:24px;--rep-space-xl:32px;--rep-space-2xl:48px;--rep-space-3xl:64px;
  /* Radii */
  --rep-radius-sm:8px;--rep-radius-md:12px;--rep-radius-lg:16px;
  --rep-radius-xl:24px;--rep-radius-full:999px;
}

/* ===== Minimal Reset (Astra covers most) ===== */
*,*::before,*::after{box-sizing:border-box;}
img{max-width:100%;height:auto;display:block;}

/* ===== Container ===== */
.wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

/* ===== Base Typography ===== */
h1,h2,h3,h4{font-family:var(--rep-font-display);color:var(--rep-forest);line-height:1.15;}
h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;letter-spacing:-.02em;}
h2{font-size:clamp(1.8rem,3.5vw,2.5rem);font-weight:600;}
h3{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;}
p{color:var(--rep-text-secondary);}
.kicker{display:inline-block;font:600 .8rem/1 var(--rep-font-body);text-transform:uppercase;letter-spacing:.08em;color:var(--rep-teal);margin-bottom:12px;}
.muted{color:var(--rep-text-muted);max-width:640px;}
.highlight{background:linear-gradient(120deg,rgba(147,241,201,.3) 0%,rgba(65,153,159,.2) 100%);padding:2px 8px;border-radius:6px;}

/* ===== Chips ===== */
.chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:var(--rep-radius-full);background:var(--rep-bg-light);border:1px solid var(--rep-border);font:500 .8rem/1 var(--rep-font-body);color:var(--rep-text-secondary);}
.chip--teal{background:rgba(65,153,159,.08);border-color:rgba(65,153,159,.25);color:var(--rep-teal);}
.chip--green{background:rgba(146,241,203,.12);border-color:rgba(146,241,203,.30);color:var(--rep-forest);}
.chip--sun{background:rgba(247,212,80,.12);border-color:rgba(247,212,80,.30);color:#6C5E1A;}

/* ===== Buttons ===== */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--rep-radius-md);font:600 .95rem/1 var(--rep-font-body);transition:all .25s ease;min-height:48px;white-space:nowrap;text-decoration:none;}
.btn-primary{background:var(--rep-teal);color:#fff;}
.btn-primary:hover{background:#368F95;transform:translateY(-2px);box-shadow:var(--rep-shadow-md);}
.btn-accent{background:var(--rep-sun);color:var(--rep-forest);}
.btn-accent:hover{background:#f5cc3d;transform:translateY(-2px);box-shadow:var(--rep-shadow-md);}
.btn-outline{background:transparent;color:var(--rep-teal);border:1.5px solid var(--rep-teal);}
.btn-outline:hover{background:var(--rep-teal);color:#fff;}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
.btn-ghost:hover{background:rgba(255,255,255,.2);}

/* ===== Cards ===== */
.card{background:#fff;border:1px solid var(--rep-border);border-radius:var(--rep-radius-lg);padding:28px;box-shadow:var(--rep-shadow-sm);transition:all .3s ease;}
.card:hover{box-shadow:var(--rep-shadow-lg);transform:translateY(-4px);}

/* ===== Badge ===== */
.badge{display:inline-block;background:var(--rep-forest);color:var(--rep-green);padding:8px 16px;border-radius:var(--rep-radius-full);font:600 .8rem/1 var(--rep-font-body);}

/* ===== Scroll Reveal ===== */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .6s ease,transform .6s ease;}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal[data-delay="1"]{transition-delay:.1s;}
.reveal[data-delay="2"]{transition-delay:.2s;}
.reveal[data-delay="3"]{transition-delay:.3s;}
.reveal[data-delay="4"]{transition-delay:.4s;}
.reveal[data-delay="5"]{transition-delay:.5s;}

/* ===== Tooltips (CSS-only) ===== */
.tip{position:relative;display:inline;cursor:help;border-bottom:1.5px dotted currentColor;}
.tip::after{content:attr(data-tip);position:absolute;z-index:9999;width:max-content;max-width:260px;background:var(--rep-forest);color:var(--rep-green);border-radius:10px;padding:10px 14px;box-shadow:var(--rep-shadow-lg);left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;transition:all .18s ease;font:400 .82rem/1.5 var(--rep-font-body);white-space:normal;letter-spacing:0;text-transform:none;}
.tip:hover::after,.tip:focus::after{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto;}
.tip::before{content:'';position:absolute;z-index:10000;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--rep-forest);opacity:0;transition:opacity .18s;}
.tip:hover::before,.tip:focus::before{opacity:1;}
.tip--light{border-color:rgba(255,255,255,.4);}
.tip--light::after{background:#fff;color:var(--rep-forest);}
.tip--light::before{border-top-color:#fff;}

/* ===== Decorative ===== */
.glow{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;will-change:transform;}
.grad-text{
  display:inline-block;padding-right:0.06em;
  font-weight:300!important;font-style:normal!important;
  background:linear-gradient(90deg,#93F1C9 0%,#52BF90 50%,#93F1C9 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation:rep-grad-move 4s linear infinite;
}
@keyframes rep-grad-move{0%{background-position:0% 50%}100%{background-position:200% 50%}}

/* ===== Pricing Base Layout (replanta-prices shortcode) ===== */
.plans-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:20px;margin-bottom:48px;}
.plans-bar .left h2{margin-bottom:6px;}
.billing-toggle{display:inline-flex;align-items:center;background:var(--rep-bg-light);border:1px solid var(--rep-border);border-radius:var(--rep-radius-full);padding:4px;gap:2px;}
.billing-toggle input{position:absolute;opacity:0;pointer-events:none;}
.billing-toggle label{padding:10px 20px;border-radius:var(--rep-radius-full);font:600 .85rem/1 var(--rep-font-body);color:var(--rep-text-muted);cursor:pointer;transition:all .25s;}
.billing-toggle input:checked+label{background:var(--rep-teal);color:#fff;box-shadow:var(--rep-shadow-sm);}
.billing-toggle .badge{font-size:.7rem;background:var(--rep-sun);color:var(--rep-forest);padding:2px 6px;border-radius:var(--rep-radius-full);margin-left:4px;font-weight:700;}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
/* Default: show monthly, hide annual */
.replanta-pricing-card .amount--y,
.replanta-pricing-card .period--y,
.replanta-pricing-card .original{display:none;}
@media(max-width:860px){.plans-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto;}}


/* ===========================================================================
   Elementor Utility Classes (rep-* con !important para sobreescribir Elementor)
   Usados en widgets Elementor regulares en otras páginas del sitio.
   =========================================================================== */

/* --- Buttons --- */
.rep-btn-primary{background:var(--rep-teal)!important;color:var(--rep-white)!important;border:none!important;padding:12px 24px!important;border-radius:var(--rep-radius-md)!important;font-family:var(--rep-font-body)!important;font-weight:500!important;transition:.3s ease!important;text-decoration:none!important;display:inline-block!important;}
.rep-btn-primary:hover{background:#368f95!important;transform:translateY(-2px)!important;box-shadow:var(--rep-shadow-md)!important;}
.rep-btn-accent{background:var(--rep-sun)!important;color:var(--rep-forest)!important;border:none!important;padding:12px 24px!important;border-radius:var(--rep-radius-md)!important;font-family:var(--rep-font-body)!important;font-weight:500!important;transition:.3s ease!important;}
.rep-btn-accent:hover{background:#f5cc3d!important;transform:translateY(-2px)!important;}
.rep-btn-secondary{background:transparent!important;color:var(--rep-teal)!important;border:1px solid var(--rep-teal)!important;padding:12px 24px!important;border-radius:var(--rep-radius-md)!important;font-family:var(--rep-font-body)!important;font-weight:500!important;transition:.3s ease!important;}
.rep-btn-secondary:hover{background:var(--rep-teal)!important;color:var(--rep-white)!important;}

/* --- Cards --- */
.rep-card{background:var(--rep-white)!important;border:1px solid var(--rep-border)!important;border-radius:var(--rep-radius-lg)!important;padding:var(--rep-space-lg)!important;box-shadow:var(--rep-shadow-sm)!important;transition:.3s ease!important;}
.rep-card:hover{box-shadow:var(--rep-shadow-lg)!important;transform:translateY(-4px)!important;}

/* --- Typography --- */
.rep-heading-display{font-family:var(--rep-font-display)!important;font-size:3.5rem!important;font-weight:700!important;line-height:1.1!important;color:var(--rep-forest)!important;}
.rep-heading-1{font-family:var(--rep-font-display)!important;font-size:3rem!important;font-weight:600!important;line-height:1.15!important;color:var(--rep-forest)!important;}
.rep-heading-2{font-family:var(--rep-font-display)!important;font-size:2.25rem!important;line-height:1.2!important;color:var(--rep-forest)!important;}
.rep-heading-3{font-family:var(--rep-font-display)!important;font-size:1.5rem!important;font-weight:600!important;line-height:1.3!important;color:var(--rep-forest)!important;}
.rep-text-body{font-family:var(--rep-font-body)!important;font-size:1rem!important;line-height:1.6!important;color:var(--rep-text-secondary)!important;}
.rep-text-small{font-family:var(--rep-font-body)!important;font-size:.875rem!important;line-height:1.5!important;color:var(--rep-text-tertiary)!important;}

/* --- Chips --- */
.rep-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--rep-radius-full);background:var(--rep-bg-light);border:1px solid var(--rep-border);font:500 .875rem/1 var(--rep-font-body);color:var(--rep-text-secondary);}
.rep-chip--teal{background:rgba(65,153,159,.08);border-color:rgba(65,153,159,.25);color:var(--rep-teal);}
.rep-chip--green{background:rgba(146,241,203,.12);border-color:rgba(146,241,203,.30);color:var(--rep-forest);}
.rep-chip--sun{background:rgba(247,212,80,.12);border-color:rgba(247,212,80,.30);color:#6C5E1A;}

/* --- Lists --- */
.rep-list{list-style:none;margin:0;padding:0;}
.rep-list li{position:relative;padding-left:18px;margin:6px 0;}
.rep-list li::before{content:"";position:absolute;left:0;top:10px;width:8px;height:8px;border-radius:2px;background:var(--rep-sun);}

/* --- Grid --- */
.rep-cards-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:1024px){.rep-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.rep-cards-grid{grid-template-columns:1fr;}}

/* --- Tables --- */
.rep-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--rep-border);border-radius:14px;overflow:hidden;background:#fff;}
.rep-table thead th{background:#fff;border-bottom:2px solid var(--rep-border);padding:12px 14px;position:sticky;top:0;z-index:2;font-weight:600;color:var(--rep-forest);}
.rep-table td,.rep-table th{padding:12px 14px;border-bottom:1px solid var(--rep-border);vertical-align:top;}
.rep-table .c{text-align:center;}
.rep-table .tick{color:var(--rep-green);font-weight:700;}
.rep-table .rep-section th{background:#F7FBF9;color:var(--rep-forest);padding:10px 14px;text-align:left;font-family:var(--rep-font-display);font-weight:600;font-size:1.05rem;border-top:1px solid var(--rep-border);position:sticky;left:0;z-index:1;}

/* --- Tooltips (legacy rep-tipwrap for comparison tables etc.) --- */
.rep-tipwrap{position:relative;display:inline-flex;align-items:center;vertical-align:text-top;}
.rep-tip{width:14px;height:14px;display:inline-grid;place-items:center;border-radius:50%;background:#fff!important;border:1px solid var(--rep-border)!important;color:var(--rep-text-tertiary)!important;font-family:var(--rep-font-body);font-style:italic;font-size:11px!important;line-height:1;cursor:help;padding:0!important;outline:2px solid transparent;outline-offset:2px;}
.rep-tip:hover,.rep-tip:focus{color:var(--rep-teal)!important;border-color:var(--rep-teal)!important;outline-color:var(--rep-teal);}
.rep-tip--sup{position:relative;top:-.18em;}
.rep-tooltip{position:absolute;z-index:9999;min-width:220px;max-width:320px;background:#fff;color:var(--rep-text-secondary);border:1px solid var(--rep-border);border-radius:10px;padding:10px 12px;box-shadow:var(--rep-shadow-lg);left:50%;top:calc(100% + 8px);transform:translateX(-50%) translateY(6px);opacity:0;pointer-events:none;transition:transform .15s ease,opacity .15s ease;}
.rep-tooltip::before{content:"";position:absolute;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:50%;transform:translateX(-50%);}
.rep-tipwrap:hover .rep-tooltip,.rep-tipwrap:focus-within .rep-tooltip{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.rep-tipwrap[data-dir="up"] .rep-tooltip{bottom:calc(100% + 8px);top:auto;transform:translateX(-50%) translateY(-6px);}
.rep-tipwrap[data-dir="up"] .rep-tooltip::before{top:auto;bottom:-6px;border-bottom:0;border-top:6px solid #fff;}
.rep-tipwrap[data-align="left"] .rep-tooltip{left:0;transform:translateX(0) translateY(6px);}
.rep-tipwrap[data-dir="up"][data-align="left"] .rep-tooltip{transform:translateX(0) translateY(-6px);}
.rep-tipwrap[data-align="left"] .rep-tooltip::before{left:12px;transform:none;}
.rep-tipwrap[data-align="right"] .rep-tooltip{left:auto;right:0;transform:translateX(0) translateY(6px);}
.rep-tipwrap[data-dir="up"][data-align="right"] .rep-tooltip{transform:translateX(0) translateY(-6px);}
.rep-tipwrap[data-align="right"] .rep-tooltip::before{left:auto;right:12px;transform:none;}
#comparativa .rep-compare--desktop > div{overflow:visible!important;}

/* --- Pricing Cards (shortcode) --- */
.replanta-pricing-card{background:var(--rep-white)!important;border:1px solid var(--rep-border)!important;border-radius:var(--rep-radius-lg)!important;padding:var(--rep-space-lg)!important;box-shadow:var(--rep-shadow-sm)!important;transition:.3s ease!important;position:relative!important;height:100%!important;display:flex!important;flex-direction:column!important;}

/* --- Recent Posts shortcode containment --- */
.replanta-recent{max-width:1140px;margin-left:auto;margin-right:auto;}
.replanta-pricing-card:hover{box-shadow:var(--rep-shadow-lg)!important;transform:translateY(-4px)!important;}
.replanta-pricing-featured{border:2px solid var(--rep-teal)!important;position:relative!important;}
.replanta-pricing-featured::before{content:'Recomendado'!important;position:absolute!important;top:-12px!important;left:50%!important;transform:translateX(-50%)!important;background:var(--rep-sun)!important;color:var(--rep-forest)!important;padding:4px 16px!important;border-radius:var(--rep-radius-md)!important;font-size:12px!important;font-weight:600!important;text-transform:uppercase!important;}

/* --- Comparison Layout --- */
.rep-compare--desktop{display:block;}
.rep-compare--mobile{display:none;}
@media(max-width:860px){.rep-compare--desktop{display:none;}.rep-compare--mobile{display:block;margin-top:12px;}}
.rep-compare--mobile details{border:1px solid var(--rep-border);border-radius:var(--rep-radius-md);background:#fff;padding:12px 14px;margin-top:10px;}
.rep-compare--mobile summary{cursor:pointer;list-style:none;font-family:var(--rep-font-display);font-weight:600;color:var(--rep-forest);position:relative;padding-right:18px;}
.rep-compare--mobile summary::-webkit-details-marker{display:none;}
.rep-compare--mobile summary::after{content:"25BE";position:absolute;right:0;top:0;opacity:.6;transition:transform .2s ease;}
.rep-compare--mobile details[open] summary::after{transform:rotate(-180deg);}
.rep-compare--mobile .rep-cards{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px;}
.rep-compare--mobile .rep-cards li{background:#F7FBF9;border:1px solid var(--rep-border);border-radius:10px;padding:10px 12px;color:var(--rep-text-secondary);}
.rep-compare--mobile .rep-cards li strong{color:var(--rep-forest);}

/* --- Section Edges (legacy — otras páginas) --- */
.rep-edge{display:block;width:100%;height:64px;line-height:0;margin-top:-1px;color:var(--rep-teal);}
.rep-edge svg{width:100%;height:100%;display:block;}
.rep-edge path.main{fill:currentColor;}
.rep-edge path.gloss{fill:#fff;opacity:.18;}
.rep-edge.is-tight{height:48px;}.rep-edge.is-tall{height:96px;}.rep-edge.is-flip{transform:scaleY(-1);}
.rep-edge--forest{color:var(--rep-forest);}.rep-edge--teal{color:var(--rep-teal);}.rep-edge--green{color:var(--rep-green);}.rep-edge--sun{color:var(--rep-sun);}.rep-edge--white{color:#fff;}.rep-edge--mint{color:var(--rep-mint);}

/* --- Elementor Button Overrides --- */
.elementor-button.rep-btn-primary{background:var(--rep-teal)!important;border:none!important;border-radius:var(--rep-radius-md)!important;}
.elementor-button.rep-btn-accent{background:var(--rep-sun)!important;color:var(--rep-forest)!important;border:none!important;border-radius:var(--rep-radius-md)!important;}
.elementor-heading-title.rep-heading-1,.elementor-heading-title.rep-heading-2,.elementor-heading-title.rep-heading-3{font-family:var(--rep-font-display)!important;}

/* --- BG / Text Utilities --- */
.rep-bg-light{background:var(--rep-bg-light)!important;}
.rep-bg-gradient{background:var(--rep-grad)!important;}
.rep-bg-white{background:var(--rep-white)!important;}
.rep-text-center{text-align:center!important;}
.rep-text-teal{color:var(--rep-teal)!important;}
.rep-text-forest{color:var(--rep-forest)!important;}
.rep-text-white{color:var(--rep-white)!important;}

/* ===== Responsive Typography ===== */
@media(max-width:768px){
  .rep-heading-display{font-size:2.5rem!important;}
  .rep-heading-1{font-size:2rem!important;}
  .rep-heading-2{font-size:1.75rem!important;}
  .replanta-pricing-card{padding:20px!important;}
}

/* ===== Misc ===== */
#betterdocs-entry-title{text-transform:initial;line-height:1em;}
a.btn-author-posts{color:white;}

/* ===== Prefers Reduced Motion ===== */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:0s!important;transition-duration:0s!important;}
  .reveal{opacity:1;transform:none;}
  .glow{display:none;}
}
