/*
Theme Name: Digy Admin - Servicios
Theme URI: https://servicios.digyadmin.com
Author: Digy Admin
Author URI: https://digyadmin.com
Description: Landing page a medida para el subdominio servicios.digyadmin.com. Catalogo de servicios (Autonomos, Sociedades, Particulares, Consultas), oficinas y formulario de contacto. Todo el contenido de textos y enlaces se edita desde js/servicios.js (objeto CONFIG) sin tocar PHP.
Version: 1.0
Requires at least: 5.8
Requires PHP: 7.4
Text Domain: digyadmin-servicios
*/

  :root{
    --blue-primary:#1D70B7;
    --blue-accent:#2EA3F2;
    --blue-dark:#0B2A4A;
    --navy:#12233d;
    --navy-2:#0d1b30;
    --green:#22c55e;
    --green-dark:#16a34a;
    --teal-1:#2EA3F2;
    --teal-2:#22c55e;
    --bg-light:#eaf4fc;
    --bg-light-2:#dcecfa;
    --text-dark:#0f2237;
    --text-body:#4a5b6c;
    --white:#ffffff;
    --radius-lg:20px;
    --radius-md:14px;
    --radius-sm:10px;
    --shadow-card:0 10px 25px rgba(13,43,74,0.08);
    --shadow-card-hover:0 18px 36px rgba(13,43,74,0.14);
    --shadow-hero:0 20px 45px rgba(13,43,74,0.10);
    --ease:cubic-bezier(.22,1,.36,1);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;font-family:'Barlow',Arial,Helvetica,sans-serif;color:var(--text-dark);background:var(--white);
    -webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{text-decoration:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  button, .btn{cursor:pointer;font-family:inherit;}

  /* reveal-on-scroll */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* HEADER */
  header.site-header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,255,255,0.82);
    backdrop-filter:blur(14px) saturate(160%);
    -webkit-backdrop-filter:blur(14px) saturate(160%);
    border-bottom:1px solid rgba(15,34,55,0.06);
    transition:box-shadow .3s var(--ease);
  }
  header.site-header.scrolled{box-shadow:0 8px 24px rgba(13,43,74,0.08);}
  .header-inner{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 24px;max-width:1180px;margin:0 auto;
  }
  .logo-slot{display:flex;align-items:center;gap:9px;}
  .logo-slot img{height:36px;width:auto;}
  .logo-mark{width:34px;height:34px;border-radius:9px;flex-shrink:0;
    background:linear-gradient(135deg,var(--blue-accent) 0%,var(--blue-primary) 100%);
    display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(29,112,183,0.28);}
  .logo-mark svg{width:19px;height:19px;}
  .logo-word{font-weight:800;font-size:18px;letter-spacing:-0.02em;color:var(--text-dark);line-height:1;}
  .logo-word span{color:var(--blue-primary);}
  .logo-word small{display:block;font-size:9px;font-weight:700;letter-spacing:0.14em;color:var(--text-body);margin-top:2px;}
  nav.main-nav{display:flex;gap:28px;align-items:center;}
  nav.main-nav a{
    position:relative;color:var(--text-dark);font-weight:600;font-size:14px;
    padding-bottom:4px;
    transition:color .2s var(--ease);
  }
  nav.main-nav a::after{
    content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;
    background:var(--blue-primary);border-radius:2px;transition:right .28s var(--ease);
  }
  nav.main-nav a.active::after, nav.main-nav a:hover::after{right:0;}
  nav.main-nav a.active, nav.main-nav a:hover{color:var(--blue-primary);}
  .header-cta{
    display:flex;align-items:center;gap:6px;
    background:var(--blue-primary);color:#fff;
    padding:9px 18px;border-radius:30px;font-weight:600;font-size:14px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s;
    box-shadow:0 6px 16px rgba(29,112,183,0.25);
  }
  .header-cta:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 10px 22px rgba(29,112,183,0.32);}
  .burger{display:none;background:none;border:none;font-size:24px;color:var(--blue-primary);}

  /* HERO */
  .hero{
    background:linear-gradient(180deg,var(--bg-light) 0%,var(--bg-light-2) 100%);
    padding:64px 0 0;position:relative;overflow:hidden;
  }
  .hero::before{
    content:"";position:absolute;top:-140px;right:-120px;width:480px;height:480px;
    background:radial-gradient(circle,rgba(46,163,242,0.28) 0%,rgba(46,163,242,0) 70%);
    border-radius:50%;pointer-events:none;
  }
  .hero::after{
    content:"";position:absolute;bottom:-160px;left:-100px;width:360px;height:360px;
    background:radial-gradient(circle,rgba(29,112,183,0.16) 0%,rgba(29,112,183,0) 70%);
    border-radius:50%;pointer-events:none;
  }
  .hero-inner{
    max-width:1180px;margin:0 auto;padding:0 24px;text-align:left;position:relative;z-index:1;
    display:grid;grid-template-columns:1.05fr 0.95fr;gap:32px;align-items:center;
  }
  .hero-copy{padding-bottom:56px;}
  .badge-pae{
    display:inline-flex;align-items:center;gap:10px;
    background:rgba(255,255,255,0.75);backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,0.6);
    border-radius:14px;padding:8px 16px 8px 10px;
    box-shadow:var(--shadow-card);margin-bottom:28px;
  }
  .badge-pae img{height:32px;}
  .badge-icon{
    width:34px;height:34px;border-radius:8px;flex-shrink:0;
    background:linear-gradient(135deg,#ff5a5f 0%,#c81d3a 100%);
    display:flex;align-items:center;justify-content:center;
  }
  .badge-icon svg{width:19px;height:19px;}
  .badge-pae .badge-text{font-size:11px;line-height:1.3;color:var(--text-body);font-weight:600;}
  .badge-pae .badge-text b{color:var(--text-dark);}
  .hero-visual{position:relative;display:flex;align-items:center;justify-content:center;padding-bottom:24px;}
  .hero-visual svg{width:100%;max-width:420px;height:auto;filter:drop-shadow(0 24px 40px rgba(13,43,74,0.16));}
  .hero h1{
    font-size:44px;line-height:1.15;font-weight:800;margin:0 0 18px;
    color:var(--text-dark);max-width:640px;
  }
  .hero h1 .accent{
    background:linear-gradient(90deg,var(--blue-accent) 0%,#5bc4ff 60%,var(--blue-accent) 100%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero p{font-size:17px;line-height:1.6;color:var(--text-body);max-width:560px;margin:0 0 8px;}
  .hero p.lead-strong{font-weight:600;color:var(--text-dark);}
  .hero-ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
  .btn-primary{
    background:linear-gradient(135deg,var(--blue-accent) 0%,var(--blue-primary) 100%);
    color:#fff;padding:14px 28px;border-radius:30px;
    font-weight:700;font-size:15px;border:none;display:inline-flex;align-items:center;gap:8px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
    box-shadow:0 10px 24px rgba(29,112,183,0.28);
  }
  .btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(29,112,183,0.36);}
  .btn-secondary{
    background:#fff;color:var(--blue-primary);padding:14px 28px;border-radius:30px;
    font-weight:700;font-size:15px;border:1.5px solid rgba(29,112,183,0.35);
    display:inline-flex;align-items:center;gap:8px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s,color .25s;
  }
  .btn-secondary:hover{background:var(--blue-primary);color:#fff;transform:translateY(-3px);box-shadow:0 14px 26px rgba(29,112,183,0.24);}

  /* CATALOG TITLE */
  .catalog-intro{padding:72px 0 40px;text-align:left;}
  .catalog-intro h2{font-size:34px;font-weight:800;margin:0 0 18px;color:var(--text-dark);line-height:1.2;}
  .catalog-intro p{font-size:16px;color:var(--text-body);max-width:640px;line-height:1.6;margin:0;}

  /* AREA SECTION */
  .area-section{padding:24px 0 56px;}
  .area-label{
    display:flex;align-items:center;gap:12px;margin-bottom:24px;
  }
  .area-label .icon-circle{
    width:44px;height:44px;border-radius:50%;background:var(--bg-light);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .area-label .icon-circle svg{width:22px;height:22px;}
  .area-label h3{font-size:24px;font-weight:800;color:var(--text-dark);margin:0;}
  .area-label h3 span{font-weight:800;}

  .area-panel{
    border-radius:var(--radius-lg);
    padding:40px 40px 34px;
    position:relative;overflow:hidden;
    box-shadow:0 16px 40px rgba(13,43,74,0.06);
  }
  .area-panel.light{background:linear-gradient(135deg,var(--bg-light) 0%,var(--bg-light-2) 100%);}
  .area-panel.dark{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);
    box-shadow:0 20px 50px rgba(4,12,26,0.35);}
  .area-panel.dark::before{
    content:"";position:absolute;top:-100px;right:-60px;width:280px;height:280px;
    background:radial-gradient(circle,rgba(46,163,242,0.18) 0%,rgba(46,163,242,0) 70%);
    border-radius:50%;pointer-events:none;
  }
  .area-panel.teal{background:linear-gradient(135deg,#eafaf1 0%,#e4f6fb 100%);}

  .area-panel h4{
    font-size:26px;font-weight:800;margin:0 0 14px;line-height:1.25;
    color:var(--text-dark);max-width:480px;
  }
  .area-panel.dark h4{color:#fff;}
  .area-panel p.area-desc{
    font-size:15px;line-height:1.6;color:var(--text-body);max-width:620px;margin:0 0 28px;
  }
  .area-panel.dark p.area-desc{color:#c7d4e4;}

  .service-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px;
  }
  .service-card{
    background:#fff;border-radius:var(--radius-md);padding:22px 18px;
    box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:12px;
    border:1px solid rgba(15,34,55,0.04);
    transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  }
  .service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);}
  .area-panel.dark .service-card{background:#1a2c48;box-shadow:none;border-color:rgba(255,255,255,0.06);}
  .area-panel.dark .service-card:hover{box-shadow:0 18px 36px rgba(0,0,0,0.35);}
  .service-check{
    width:26px;height:26px;border-radius:50%;
    background:linear-gradient(135deg,#34d399,var(--green));
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    box-shadow:0 4px 10px rgba(34,197,94,0.35);
  }
  .service-check svg{width:14px;height:14px;}
  .service-card h5{
    font-size:15px;font-weight:700;margin:0;color:var(--text-dark);line-height:1.3;
  }
  .area-panel.dark .service-card h5{color:#fff;}
  .service-card p{
    font-size:13px;color:var(--text-body);line-height:1.5;margin:0;flex-grow:1;
  }
  .area-panel.dark .service-card p{color:#a9b9cd;}
  .service-btn{
    margin-top:auto;background:var(--blue-primary);color:#fff;
    border:none;border-radius:24px;padding:9px 14px;font-size:13px;font-weight:700;
    text-align:center;transition:transform .22s var(--ease),background .22s,box-shadow .22s;
  }
  .service-btn:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 8px 16px rgba(11,42,74,0.28);}
  .area-panel.teal .service-btn{background:var(--teal-2);}
  .area-panel.teal .service-btn:hover{background:var(--green-dark);}

  .area-cta-row{display:flex;justify-content:center;}
  .area-cta{
    background:var(--blue-dark);color:#fff;border:none;border-radius:26px;
    padding:12px 26px;font-size:14px;font-weight:700;display:inline-flex;
    align-items:center;gap:8px;transition:transform .25s var(--ease),background .25s,box-shadow .25s;
  }
  .area-cta:hover{background:#081b30;transform:translateY(-2px);box-shadow:0 10px 20px rgba(8,27,48,0.3);}
  .area-panel.dark .area-cta{background:rgba(255,255,255,0.12);}
  .area-panel.dark .area-cta:hover{background:rgba(255,255,255,0.2);}
  .area-panel.teal .area-cta{background:var(--green-dark);}
  .area-panel.teal .area-cta:hover{background:#0d7a37;}

  /* CONSULTAS SECTION */
  .consultas-section{padding:0 0 64px;}
  .consultas-label{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
  .consultas-panel{
    background:linear-gradient(135deg,#eafaf1 0%,#e4f6fb 100%);
    border-radius:var(--radius-lg);padding:40px;position:relative;overflow:hidden;
  }
  .consultas-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px;}
  .consultas-top h4{font-size:24px;font-weight:800;margin:0;max-width:420px;}
  .ribbon{
    background:var(--blue-dark);color:#fff;font-size:12px;font-weight:700;
    padding:8px 18px;border-radius:20px;white-space:nowrap;
  }
  .consultas-panel p.area-desc{max-width:640px;margin:12px 0 28px;}
  .consultas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px;}

  /* FINAL CTA */
  .final-cta{
    background:linear-gradient(135deg,var(--navy) 0%,#0a1830 60%,var(--blue-primary) 130%);
    color:#fff;padding:64px 0;margin-top:8px;position:relative;overflow:hidden;
  }
  .final-cta::before{
    content:"";position:absolute;top:-120px;right:-80px;width:420px;height:420px;
    background:radial-gradient(circle,rgba(46,163,242,0.30) 0%,rgba(46,163,242,0) 70%);
    border-radius:50%;pointer-events:none;
  }
  .final-cta .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:16px;position:relative;z-index:1;}
  .final-badge{
    display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,0.06);
    border-radius:12px;padding:8px 14px;
  }
  .final-badge img{height:32px;}
  .final-cta h2{font-size:32px;font-weight:800;margin:6px 0 6px;max-width:560px;line-height:1.25;}
  .final-cta h2 .accent{color:var(--blue-accent);}
  .final-cta p{font-size:15px;color:#c7d4e4;max-width:560px;line-height:1.6;margin:0 0 20px;}
  .final-box{
    background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);
    border-radius:var(--radius-lg);padding:24px 28px;width:100%;
    display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
  }
  .final-box p{margin:0;font-weight:600;color:#fff;max-width:400px;font-size:15px;}
  .final-box .ctas{display:flex;gap:12px;flex-wrap:wrap;}
  .btn-outline-white{
    border:1.5px solid rgba(255,255,255,0.4);color:#fff;background:transparent;
    padding:12px 22px;border-radius:26px;font-weight:700;font-size:14px;
    display:inline-flex;align-items:center;gap:8px;transition:.2s;
  }
  .btn-outline-white:hover{background:rgba(255,255,255,0.12);}
  .btn-fill-blue{
    background:var(--blue-primary);color:#fff;padding:12px 22px;border-radius:26px;
    font-weight:700;font-size:14px;border:none;display:inline-flex;align-items:center;gap:8px;
    transition:.2s;
  }
  .btn-fill-blue:hover{background:var(--blue-accent);}

  /* FOOTER */
  footer.site-footer{background:#f7fafc;padding:28px 0;border-top:1px solid #eef2f6;}
  .footer-top{
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
    padding-bottom:20px;border-bottom:1px solid #e5ecf2;margin-bottom:16px;
  }
  .footer-nav{display:flex;gap:26px;flex-wrap:wrap;}
  .footer-nav a{color:var(--text-body);font-size:13px;font-weight:600;}
  .footer-nav a:hover{color:var(--blue-primary);}
  .footer-logo img{height:26px;}
  .footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
  .footer-legal{display:flex;gap:18px;flex-wrap:wrap;}
  .footer-legal a{color:var(--text-body);font-size:12px;}
  .footer-legal a:hover{color:var(--blue-primary);}
  .footer-copy{font-size:12px;color:#8a99a8;}
  .footer-social{display:flex;gap:12px;}
  .footer-social a{
    width:30px;height:30px;border-radius:50%;background:#eaf1f6;
    display:flex;align-items:center;justify-content:center;color:var(--text-body);
  }
  .footer-social a:hover{background:var(--blue-primary);color:#fff;}

  /* RESPONSIVE */
  @media(max-width:960px){
    .service-grid{grid-template-columns:repeat(2,1fr);}
    .consultas-grid{grid-template-columns:repeat(2,1fr);}
    .hero h1{font-size:34px;}
    .hero-inner{grid-template-columns:1fr;}
    .hero-visual{order:-1;padding-top:24px;}
    .hero-visual svg{max-width:300px;}
  }
  @media(max-width:720px){
    nav.main-nav{display:none;}
    .burger{display:block;}
    .header-cta{display:none;}
    .service-grid{grid-template-columns:1fr;}
    .consultas-grid{grid-template-columns:1fr;}
    .area-panel{padding:28px 22px;}
    .final-box{flex-direction:column;align-items:flex-start;}
    .hero h1{font-size:28px;}
    .catalog-intro h2{font-size:26px;}
  }

  /* MOBILE MENU */
  .mobile-menu{
    display:none;position:fixed;inset:0;background:#fff;z-index:100;
    padding:24px;flex-direction:column;gap:20px;
  }
  .mobile-menu.open{display:flex;}
  .mobile-menu a{font-size:18px;font-weight:700;color:var(--text-dark);}
  .mobile-menu .close-btn{align-self:flex-end;font-size:28px;background:none;border:none;color:var(--text-dark);}
