/* Pluralfy: homepage presentation. Existing search and account flows stay native. */
html { overflow-x:hidden; }
body.home { --pf-ink:#171c38; --pf-muted:#566078; --pf-accent:#ed1748; overflow-x:clip; background:#0d142d; }
body.home #wrapper { background:#fff; }
body.home .main-search-container {
  min-height:560px; height:auto; background-color:#0d142d; background-position:center; background-size:cover;
}
body.home:not(.mobile-nav-open) .mobile-navigation-wrapper { visibility:hidden; pointer-events:none; }
body.home .elementor-116 .elementor-element.elementor-element-eda9759 .container-overlay-solid.main-search-container:before {
  background:linear-gradient(110deg,rgba(13,20,45,.98) 0%,rgba(21,29,58,.94) 55%,rgba(24,32,63,.78) 100%);
  opacity:1;
}
body.home .main-search-container .main-search-inner {
  position:relative; top:auto; transform:none; padding:160px 0 76px; text-align:left;
}
body.home .main-search-inner .col-md-12 { display:flex; flex-direction:column; }
body.home .main-search-inner h1 { order:1; }
body.home .main-search-inner .main-search-form { order:2; width:100%; }
body.home .main-search-inner h4 {
  order:3; width:100%; max-width:none; margin:18px 0 0; padding:0 16px; box-sizing:border-box;
  color:rgba(255,255,255,.92); font-size:16px; font-weight:500; line-height:1.6; text-align:left;
}
body.home .elementor-116 .elementor-element.elementor-element-eda9759 .main-search-inner h1 {
  max-width:870px; margin:0 0 30px; font-size:clamp(32px,3.6vw,56px);
  font-weight:700; line-height:1.13; letter-spacing:-.035em; text-align:left;
}
body.home .main-search-inner .typed-words { color:#ff8ba6; font-size:.63em; line-height:1.6; letter-spacing:-.01em; }
body.home .main-search-inner .typed-cursor { color:#ff8ba6; font-size:.63em; }
body.home .main-search-input {
  margin:0; padding:10px; max-width:none; border-radius:16px;
  box-shadow:0 16px 50px rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.6);
}
body.home .main-search-input input, body.home .main-search-input .select2-selection__rendered {
  font-family:inherit; font-size:16px; color:var(--pf-ink);
}
body.home .main-search-input input::placeholder { color:#5c6477; opacity:1; }
body.home .main-search-input button.button { border-radius:10px; min-height:52px; font-weight:700; background:var(--pf-accent); }
body.home .main-search-input button.button:hover { background:#c80e39; }
body.home .main-search-input-item { min-width:0; }
body.home a:focus-visible, body.home button:focus-visible, body.home input:focus-visible,
body.home .select2-selection:focus-visible { outline:3px solid #5688ff; outline-offset:4px; }
body.home #header { border-bottom:1px solid rgba(255,255,255,.15); }
body.home #navigation .menu-item-290 > a { border-radius:9px; font-weight:600; }
body.home .elementor-element-a7cd12f { padding:46px 0 34px; }
body.home .elementor-116 .elementor-element.elementor-element-22e66a4 > .elementor-widget-container { margin:0 0 28px; }
body.home .elementor-116 .elementor-element.elementor-element-aa988a5 > .elementor-widget-container { margin:0; }
body.home h3.headline { color:var(--pf-ink); font-size:clamp(26px,2.5vw,32px); font-weight:700; letter-spacing:-.025em; line-height:1.25; }
body.home h3.headline.headline-box:after { width:44px; height:3px; border-radius:3px; margin-top:16px; }
body.home .category-small-box {
  background:#fff; border:1px solid #e2e6ef; border-radius:14px; padding:25px 10px;
  box-shadow:0 4px 12px rgba(25,35,65,.035); transition:transform .18s,border-color .18s,box-shadow .18s;
}
body.home .category-small-box:hover,
body.home .category-small-box:focus,
body.home .category-small-box:active {
  transform:none; border-color:#ed1748; border-top-color:#ed1748; background:#fff;
  box-shadow:0 12px 25px rgba(25,35,65,.09);
}
body.home .category-small-box h4 { color:var(--pf-ink); font-size:16px; font-weight:600; line-height:1.4; margin-top:14px; }
body.home .category-small-box i { color:#ed1748; font-family:'Font Awesome 5 Free'; font-weight:900; font-size:28px; line-height:1; }
body.home .category-small-box[href$='/desarrollo/'] i:before { content:'\f121'; }
body.home .category-small-box[href$='/diseno-grafico/'] i:before { content:'\f53f'; }
body.home .category-small-box[href$='/e-commerce/'] i:before { content:'\f07a'; }
body.home .category-small-box[href$='/ia/'] i:before { content:'\f544'; }
body.home .category-small-box[href$='/marketing-digital/'] i:before { content:'\f0a1'; }
body.home .category-small-box[href$='/servicios/'] i:before { content:'\f233'; }
body.home .elementor-116 .elementor-element.elementor-element-3c55e99 { margin-top:0; background:#f4f6fb; padding:48px 0; }
body.home .elementor-116 .elementor-element.elementor-element-a96695e > .elementor-widget-container { margin:0 0 34px; }
body.home .elementor-116 .elementor-element.elementor-element-fdcc131 { margin-top:0; margin-bottom:0; }
body.home .icon-box-2 { border:1px solid #e6e9f1; border-radius:16px; box-shadow:none; padding:28px; text-align:left; height:100%; }
body.home .icon-box-2 i { width:54px; height:54px; line-height:54px; font-size:25px; margin:0 0 20px; border-radius:12px; }
body.home .icon-box-2 h3 { color:var(--pf-ink); font-size:20px; line-height:1.35; font-weight:700; margin:0 0 12px; }
body.home .icon-box-2 p { font-size:16px; line-height:1.75; color:var(--pf-muted); margin:0; }
body.home .pf-home-choice { padding:64px 0; background:#fff; }
body.home .pf-home-choice__intro { max-width:760px; margin:0 auto 34px; text-align:center; }
body.home .pf-home-choice__eyebrow { display:inline-block; margin-bottom:10px; color:var(--pf-accent); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
body.home .pf-home-choice h2 { margin:0 0 12px; color:var(--pf-ink); font-size:clamp(28px,3vw,40px); line-height:1.2; letter-spacing:-.03em; }
body.home .pf-home-choice__intro p { margin:0; color:var(--pf-muted); font-size:17px; line-height:1.7; }
body.home .pf-home-choice__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; max-width:1040px; margin:0 auto; }
body.home .pf-home-choice__card { display:flex; flex-direction:column; min-height:255px; padding:32px; border:1px solid #e2e6ef; border-radius:18px; background:#f8f9fc; box-shadow:0 12px 34px rgba(25,35,65,.06); }
body.home .pf-home-choice__card--software { background:#171c38; border-color:#171c38; }
body.home .pf-home-choice__icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:22px; border-radius:14px; background:#ffe6ec; color:var(--pf-accent); font-size:24px; }
body.home .pf-home-choice__card--software .pf-home-choice__icon { background:rgba(255,255,255,.12); color:#fff; }
body.home .pf-home-choice__card h3 { margin:0 0 10px; color:var(--pf-ink); font-size:24px; line-height:1.3; }
body.home .pf-home-choice__card p { flex:1; margin:0 0 24px; color:var(--pf-muted); font-size:16px; line-height:1.65; }
body.home .pf-home-choice__card--software h3, body.home .pf-home-choice__card--software p { color:#fff; }
body.home .pf-home-choice__link { display:inline-flex; align-items:center; width:max-content; min-height:46px; padding:0 20px; border-radius:10px; background:var(--pf-accent); color:#fff; font-weight:700; }
body.home .pf-home-choice__link:hover { background:#c80e39; color:#fff; }
body.home #footer { margin-top:0; padding-top:48px; border-top:1px solid #e6e9f1; }
body.home #footer h4 { color:var(--pf-ink); font-size:18px; font-weight:700; }
body.home #footer p, body.home #footer li, body.home #footer .textwidget { color:var(--pf-muted); font-size:15px; line-height:1.8; }
body.home #footer .copyrights { margin-top:36px; padding:24px 0; }
@media (max-width:1024px) {
  body.home .main-search-container .main-search-inner { padding-top:145px; }
  body.home .category-small-box h4 { font-size:14px; }
}
@media (max-width:767px) {
  body.home .elementor-element-aac89d2 { width:calc(100% + 30px) !important; left:-15px !important; }
  body.home .main-search-container { min-height:0; }
  body.home .main-search-container .main-search-inner { padding:160px 0 40px; }
  body.home .elementor-116 .elementor-element.elementor-element-eda9759 .main-search-inner h1 { font-size:32px; line-height:1.2; margin-bottom:24px; }
  body.home .main-search-input { display:flex; flex-direction:column; gap:0; padding:12px; border-radius:14px; }
  body.home .main-search-input-item { width:100%; margin:0; padding:5px 4px; border-right:0; border-bottom:1px solid #e6e9f1; }
  body.home .main-search-input-item input { margin:0; }
  body.home .main-search-input button.button { width:100%; margin:10px 0 0; }
  body.home .elementor-element-a7cd12f { padding:32px 8px 24px; }
  body.home .category-small-box { margin:0 0 14px; padding:22px 8px; }
  body.home .elementor-116 .elementor-element.elementor-element-3c55e99 { padding:32px 8px; }
  body.home .icon-box-2 { padding:24px; }
  body.home .pf-home-choice { padding:42px 14px; }
  body.home .pf-home-choice__grid { grid-template-columns:1fr; }
  body.home .pf-home-choice__card { min-height:0; padding:26px; }
  body.home #footer { padding-top:32px; }
}
@media (prefers-reduced-motion:reduce) {
  body.home .category-small-box { transition:none; }
  body.home .typed-cursor { animation:none; }
}

body.home .categories-boxes-container { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; margin:0; }
body.home .categories-boxes-container .category-small-box { width:auto; margin:0; }
body.home .icon-box-2 { margin:0; }
@media(max-width:767px) {
  body.home .categories-boxes-container { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body.home .category-small-box,
  body.home .category-small-box:hover,
  body.home .category-small-box:focus,
  body.home .category-small-box:active {
    box-sizing:border-box;
    border-top:3px solid var(--pf-accent);
    transform:none;
  }
  body.home .main-search-inner h4 { margin-top:16px; font-size:15px; line-height:1.55; }
  body.home .main-search-input { background:#fff; }
  body.home .elementor-element-fdcc131 > .elementor-container > .elementor-column { margin-bottom:16px; }
}@media(max-width:767px) {
  body.home.user_not_logged_in #header .right-side {
    position:relative;
    top:auto;
    right:auto;
    left:auto !important;
    width:100% !important;
    margin:0;
    float:none;
  }
  body.home.user_not_logged_in #header .header-widget {
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    min-height:0;
    height:auto;
    margin:0;
    padding:10px 0 12px;
    border-top:1px solid rgba(255,255,255,.18);
  }
  body.home.user_not_logged_in #header .header-widget .sign-in,
  body.home.user_not_logged_in #header .header-widget .sign-in:hover {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    margin:0;
    padding:0 4px !important;
    border:0;
    background:transparent !important;
    color:#fff !important;
    font-size:14px;
    font-weight:700;
    line-height:40px;
    white-space:nowrap;
    box-shadow:none;
  }
  body.home.user_not_logged_in #header .header-widget .sign-in i { padding-right:5px; }
  body.home.logged-in #header .right-side { right:96px; }
}
@media(max-width:380px) {
  body.home.user_not_logged_in #header .header-widget .sign-in,
  body.home.user_not_logged_in #header .header-widget .sign-in:hover { padding:0 2px !important; font-size:13px; }
  body.home.logged-in #header .right-side { right:84px; }
}
@media(min-width:768px) {
  body.home .main-search-input { align-items:center; }
  body.home .main-search-input-item {
    display:flex;
    align-items:center;
    height:48px;
    margin:0;
  }
  body.home .main-search-input-item > div,
  body.home .main-search-input-item .select2-container,
  body.home .main-search-input-item .select2-selection { width:100% !important; height:48px !important; }
  body.home .main-search-input-item input.keyword_search,
  body.home .main-search-input-item .select2-selection--single .select2-selection__rendered {
    height:48px;
    line-height:48px;
  }
  body.home #listeo-search-form_tax-region .select2-selection--multiple {
    display:block;
    min-height:48px;
    padding:6px 5px;
    overflow:hidden;
  }
  body.home .main-search-input-item:focus-within {
    border-radius:8px;
    outline:2px solid #5688ff;
    outline-offset:-2px;
  }
  body.home .main-search-input-item input:focus-visible,
  body.home .main-search-input-item .select2-selection:focus-visible { outline:none; }
  body.home .main-search-input button.button {
    align-self:center;
    height:48px;
    min-height:48px;
    margin:0 !important;
    line-height:48px;
    top:0;
  }
  body.home #footer .row:first-child { display:flex; align-items:flex-start; }
}
@media(max-width:767px) {
  body.home #footer .footer-widget { margin-bottom:0; }
  body.home #footer .row:first-child > [class*="col-"] { margin-bottom:24px; }
}
