/*
 * Hipotuca Vite Base
 * Global frontend style baseline extracted from hipotek-home-link.
 */

:root {
  --background: 240 8% 96%;
  --foreground: 228 51.02% 9.61%;
  --card: 0 0% 100%;
  --card-foreground: 228 51.02% 9.61%;
  --popover: 0 0% 100%;
  --popover-foreground: 228 51.02% 9.61%;
  --primary: 340 78% 55%;
  --primary-foreground: 0 0% 100%;
  --secondary: 240 8% 94%;
  --secondary-foreground: 228 51.02% 9.61%;
  --muted: 240 6% 93%;
  --muted-foreground: 240 8% 48%;
  --accent: 35 92% 54%;
  --accent-foreground: 0 0% 100%;
  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 98%;
  --border: 240 8% 88%;
  --input: 240 8% 88%;
  --ring: 340 78% 55%;
  --radius: 0.75rem;

  --gradient-brand: linear-gradient(90deg, #fbc62e 0%, #f73d6a 33%, #991390 66%, #130b76 100%);
  --gradient-brand-diagonal: linear-gradient(135deg, #F5A623 0%, #E8315A 40%, #7B1FAB 100%);
  --layout-max-width: 1440px;
  --layout-page-gutter: 20px;
}

* {
  box-sizing: border-box;
}

/* Tailwind-like border baseline so external styles don't drop borders */
*,
*::before,
*::after {
  border-style: solid;
  border-width: 0;
  border-color: hsl(var(--border));
}

/* Tailwind-like preflight reset for spacing/typography */
html,
body {
  margin: 0;
  padding: 0;
}

/* Full-width sections use this shared inner alignment. */
.site-container {
  width: calc(100vw - (var(--layout-page-gutter) * 2));
  max-width: var(--layout-max-width);
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

/* Parent-theme pages and WPBakery standard content use the same page frame. */
body.wp-child-theme-hipotuca-v2 .container-wrap > .container,
body.wp-child-theme-hipotuca-v2 .container-wrap > .main-content {
  width: calc(100vw - (var(--layout-page-gutter) * 2)) !important;
  max-width: var(--layout-max-width) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
  padding: 0;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: inherit;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font: inherit;
  color: inherit;
}

body {
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: Manrope, sans-serif;
}

/* Utilities used across templates */
.bg-background { background-color: hsl(var(--background)) !important; }
.text-foreground { color: hsl(var(--foreground)) !important; }
.text-muted-foreground { color: hsl(var(--muted-foreground)) !important; }
.border-border { border-color: hsl(var(--border)) !important; }
.border {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: hsl(var(--border)) !important;
}
.font-manrope { font-family: Manrope, sans-serif !important; }
.font-automate { font-family: "AutomateBoldW00-Regular", "AutomateRegularW00", sans-serif !important; }

.brand-gradient {
  background: var(--gradient-brand);
}

.brand-gradient-text {
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.brand-gradient-diagonal {
  background: var(--gradient-brand-diagonal);
}

/* All interactive buttons use the regular 18px body size. */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.home-primary-button,
.home-secondary-button,
.market-primary-cta__button,
.sim-cta,
.sim-pill,
.hipotuca-calculadoras a.rounded-full,
a.button,
a.nectar-button {
  font-size: 18px !important;
  line-height: 24px !important;
}

/* Footer typography is intentionally smaller than the global body scale. */
.hipotuca-site-footer,
.hipotuca-site-footer p,
.hipotuca-site-footer a,
.hipotuca-site-footer span,
.hipotuca-site-footer li,
.hipotuca-site-footer strong {
  font-size: 15px !important;
  line-height: 20px !important;
}

.market-primary-cta {
  background: linear-gradient(90deg, #fbc62e 0%, #f73d6a 33%, #991390 66%, #130b76 100%) !important;
}

.market-primary-cta__button,
.market-primary-cta__button:visited,
.market-primary-cta__button:focus,
.market-primary-cta__button:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: hsl(var(--foreground)) !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.10);
  font-family: var(--type-body-family) !important;
  font-size: var(--type-body-size) !important;
  line-height: var(--type-body-line-height) !important;
  font-weight: var(--type-body-weight) !important;
  text-decoration: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.market-primary-cta__button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14);
}

/* Shared white pill CTA; used outside the landing template too. */
.home-secondary-button,
.home-secondary-button:link,
.home-secondary-button:visited,
.home-secondary-button:focus,
.home-secondary-button:hover,
.home-secondary-button:active {
  min-height: 48px;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 999px !important;
  background-color: #fff !important;
  background-image: none !important;
  color: #0c1125 !important;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.10) !important;
  font-family: var(--type-body-family) !important;
  font-size: 18px !important;
  line-height: 24px !important;
  font-weight: var(--type-body-weight) !important;
  text-decoration: none !important;
  text-shadow: none !important;
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.home-secondary-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.14) !important;
}

/* Form baseline (prevents plugin/theme overrides from drifting layout) */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
select,
textarea {
  width: 100%;
  border: 1px solid hsl(var(--border)) !important;
  border-radius: 0.75rem !important;
  padding: 0.625rem 0.75rem !important;
  background: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
  font-family: Manrope, sans-serif !important;
  font-size: var(--type-body-size) !important;
  line-height: var(--type-body-line-height) !important;
  font-weight: var(--type-body-weight) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  text-shadow: none !important;
  background-image: none !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  text-align: left !important;
}

input[type="number"] {
  text-align: left !important;
}

input::placeholder,
textarea::placeholder {
  color: #8b95a5 !important;
  opacity: 1 !important;
}

input:focus,
select:focus,
textarea:focus {
  border-color: hsl(var(--primary)) !important;
  box-shadow: 0 0 0 2px hsl(var(--primary) / 0.2) !important;
}

label {
  display: block;
  margin-bottom: 0.375rem;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  font-family: Manrope, sans-serif;
  font-size: var(--type-small-size);
  line-height: var(--type-small-line-height);
  font-weight: var(--type-small-weight);
  color: hsl(var(--foreground));
}

/* Theme-wide hard reset layer to neutralize legacy/plugin typography rules */
body.theme-hipotuca-v2 p,
body.theme-hipotuca-v2 h1,
body.theme-hipotuca-v2 h2,
body.theme-hipotuca-v2 h3,
body.theme-hipotuca-v2 h4,
body.theme-hipotuca-v2 h5,
body.theme-hipotuca-v2 h6,
body.theme-hipotuca-v2 ul,
body.theme-hipotuca-v2 ol,
body.theme-hipotuca-v2 li,
body.theme-hipotuca-v2 figure,
body.theme-hipotuca-v2 blockquote {
  margin: 0 !important;
  padding: 0 !important;
}

body.theme-hipotuca-v2 p + p {
  margin-top: 0 !important;
}

/* Hard reset inside calculator wrapper to neutralize theme paragraph spacing */
.hipotuca-calculadoras p,
.hipotuca-calculadoras h1,
.hipotuca-calculadoras h2,
.hipotuca-calculadoras h3,
.hipotuca-calculadoras h4,
.hipotuca-calculadoras h5,
.hipotuca-calculadoras h6 {
  margin: 0;
  padding: 0 !important;
}

/*
 * Legacy calculator dark cards -> light Vite cards.
 * Scoped to calculator templates to avoid affecting the rest of the theme.
 */
.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white {
  background: hsl(var(--background)) !important;
  color: hsl(var(--foreground)) !important;
  border: 1px solid hsl(var(--border)) !important;
  box-shadow: none !important;
}

.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white .text-white,
.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white .text-white\/50,
.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white .text-white\/40,
.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white .text-white\/30,
.hipotuca-calculadoras .bg-\[\#1e1e2d\].rounded-2xl.p-8.text-white .text-white\/60 {
  color: hsl(var(--muted-foreground)) !important;
}

@media (max-width: 767px){
  .single .bg-white.border.border-border.p-8{
      background: unset;
      border: 0 !important;
      padding: 0;
  }

  .home #como-funciona .grid{
    grid-template-columns: unset !important;
    gap: 40px;
  }


  .page-id-931 .cmplz-custom-wrap .cmplz-acc-btn .cmplz-acc-right{
      max-width: 180px;
  }
}

.derecha-contacto .column-overlay-layer{
  background: linear-gradient(90deg, #fbc62e 0%, #f73d6a 33%, #991390 66%, #130b76 100%) !important;
}

.derecha-contacto .wpcf7-form-control.wpcf7-submit{
    min-height: 48px;
    background-color: rgb(255, 255, 255) !important;
    background-image: none !important;
    color: rgb(12, 17, 37) !important;
    box-shadow: rgba(15, 23, 42, 0.1) 0px 2px 6px !important;
    font-family: var(--type-body-family) !important;
    font-size: 18px !important;
    line-height: 24px !important;
    font-weight: var(--type-body-weight) !important;
    text-shadow: none !important;
    transition: transform 180ms, box-shadow 180ms;
    border: 1px solid hsl(var(--border)) !important;
    border-radius: 999px !important;
    text-decoration: none !important;
    margin-top: 30px;
    width: 100%;
    padding: 15px 0 !important;
}

.page-id-830 .container.main-content{
  max-width: 80vw !important;
}
