/* Utility layer for IPI Block Theme. Keep business logic out of the theme. */
:root { scroll-behavior: smooth; }
.ipi-site .is-style-ipi-card {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--large);
	box-shadow: var(--wp--custom--shadow--soft);
}
.wp-block-button.is-style-ipi-outline .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--primary);
}
.ipi-kicker { letter-spacing: .08em; text-transform: uppercase; font-weight: 700; }
.ipi-banner-slot { border: 1px dashed var(--wp--preset--color--border); border-radius: 12px; min-height: 90px; }

/* v1.2.0 — navegación y plataforma integrada */
.ipi-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.ipi-nav-backdesk>a,.ipi-nav-backdesk .wp-block-navigation-item__content{background:#0b5875!important;color:#fff!important;border-radius:999px;padding:.55rem .9rem!important}
.ipi-platform-section .ipi-service-cards>.wp-block-column{border:1px solid #dce6ed;border-radius:18px;padding:1.4rem;background:#fff;box-shadow:0 14px 34px rgba(12,57,77,.07)}
.ipi-platform-section .ipi-service-cards h3{margin-top:0}.ipi-platform-section a{font-weight:700}
@media(max-width:1050px){.ipi-primary-navigation{font-size:.9rem}}

/* IPI Block Theme v1.3.1 · frontend comercial */
.ipi-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
.ipi-primary-navigation .ipi-nav-reservar>a,.ipi-primary-navigation .ipi-nav-backdesk>a{padding:.55rem .95rem!important;border-radius:999px}
.ipi-primary-navigation .ipi-nav-reservar>a{background:#d8952a;color:#fff!important}
.ipi-primary-navigation .ipi-nav-backdesk>a{background:#0f3d56;color:#fff!important}
.ipi-commercial-hero{background:radial-gradient(circle at 85% 20%,rgba(216,149,42,.28),transparent 35%),linear-gradient(135deg,#0f3d56 0%,#123f5d 55%,#1f6476 100%)}
.ipi-commercial-hero h1,.ipi-commercial-hero p,.ipi-commercial-hero li{color:#fff}
.ipi-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#d8952a}
.ipi-hero-panel{background:rgba(255,255,255,.96);color:#1f2933;border-radius:24px;padding:2rem!important;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.ipi-hero-panel h3,.ipi-hero-panel li,.ipi-hero-panel a{color:#1f2933}
.ipi-hero-panel ul{margin:0;padding-left:1.2rem}.ipi-hero-panel li{margin:.75rem 0}
.ipi-hero-checks{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;padding:0;list-style:none}.ipi-hero-checks li:before{content:'✓';margin-right:.45rem;color:#ffd37d;font-weight:900}
.ipi-segment-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.ipi-segment-grid>.wp-block-column{background:#fff;border:1px solid #d9e2ec;border-radius:18px;padding:1.4rem;box-shadow:0 12px 30px rgba(15,61,86,.05)}
.ipi-feature-list{display:grid;gap:.8rem;font-size:1.05rem}.ipi-feature-list li::marker{color:#d8952a}
.ipi-page-hero{padding-top:5rem!important;padding-bottom:2rem!important;max-width:950px;margin-left:0!important}
.ipi-page-hero h1{font-size:clamp(2.5rem,6vw,5rem);margin:.3rem 0 1rem}
.ipi-dynamic-content{padding-top:1rem!important;padding-bottom:4rem!important}
.ipi-commercial-assurance{border-top:1px solid #d9e2ec;padding-top:2.5rem!important;padding-bottom:4rem!important}
.ipi-public-catalog{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin:2rem 0}
.ipi-public-service-card{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem;border:1px solid #d9e2ec;border-radius:20px;background:#fff;box-shadow:0 15px 40px rgba(15,61,86,.07)}
.ipi-public-service-card h3{font-size:1.25rem;margin:0}.ipi-public-service-card p{color:#627d98;flex:1;margin:0}
.ipi-public-service-category{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#2e8b7c;font-weight:800}
.ipi-public-price{font-size:1.55rem;font-weight:850;color:#0f3d56}.ipi-public-price small{display:block;font-size:.75rem;font-weight:600;color:#627d98}
.ipi-public-pricing>h2{text-align:center}.ipi-public-pricing-table{overflow:auto;border:1px solid #d9e2ec;border-radius:18px;background:#fff}
.ipi-public-pricing-table table{width:100%;border-collapse:collapse}.ipi-public-pricing-table th,.ipi-public-pricing-table td{padding:1rem;text-align:left;border-bottom:1px solid #e7edf2}.ipi-public-pricing-table small{display:block;color:#627d98;margin-top:.3rem}
.ipi-public-booking,.ipi-quote-form{padding:2rem;border-radius:22px;background:#f5f7fa;border:1px solid #d9e2ec}
.ipi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.2rem}.ipi-form-grid label,.ipi-form-grid fieldset{display:grid;gap:.35rem;font-weight:700}.ipi-form-wide{grid-column:1/-1}.ipi-form-grid input,.ipi-form-grid select,.ipi-form-grid textarea{width:100%;padding:.8rem;border:1px solid #b8c8d4;border-radius:10px;background:#fff;font:inherit}.ipi-form-grid textarea{min-height:110px}.ipi-checkbox{display:inline-flex!important;grid-template-columns:auto 1fr!important;margin:.25rem 1rem .25rem 0}.ipi-checkbox input{width:auto!important}
.ipi-public-notice{padding:1rem;border-radius:12px;background:#eaf3f7;margin-bottom:1rem}.ipi-public-notice.is-success{background:#e6f6ef;color:#087a4b}.ipi-public-notice.is-error{background:#fff0ee;color:#b42318}
.ipi-professional-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ipi-professional-directory article{padding:1.5rem;border:1px solid #d9e2ec;border-radius:18px;background:#fff}
.ipi-account-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ipi-account-grid article{padding:1.5rem;border-radius:18px;background:#f5f7fa}.ipi-account-grid strong{display:block;font-size:2rem;color:#0f3d56}
.ipi-commerce-page .woocommerce{max-width:1320px;margin:3rem auto}.ipi-commerce-page .woocommerce form,.ipi-commerce-page .woocommerce .cart_totals{border-radius:18px}
@media(max-width:1100px){.ipi-public-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.ipi-segment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ipi-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.ipi-public-catalog,.ipi-segment-grid,.ipi-professional-directory,.ipi-account-grid,.ipi-form-grid{grid-template-columns:1fr}.ipi-page-hero{padding-top:3rem!important}.ipi-public-booking,.ipi-quote-form{padding:1.25rem}.ipi-primary-navigation .ipi-nav-reservar>a,.ipi-primary-navigation .ipi-nav-backdesk>a{background:transparent;color:inherit!important;padding:0!important}}

/* Patient and professional portals · v1.3.1 */
.ipi-eyebrow,
.ipi-service-portal__eyebrow {
  color: var(--wp--preset--color--accent, #a45d00);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ipi-portal-grid-wrap { padding-top: 1.5rem; padding-bottom: 2.5rem; }
.ipi-portal-grid { align-items: stretch; gap: 1rem; }
.ipi-portal-grid > .wp-block-column { min-width: 210px; }
.ipi-portal-card,
.ipi-service-access-card,
.ipi-service-portal {
  border: 1px solid #dbe5ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(15, 46, 63, .06);
}
.ipi-portal-card { height: 100%; padding: 1.25rem; }
.ipi-portal-card h3 { margin-top: 0; }
.ipi-service-portal { padding: clamp(1.1rem, 3vw, 2rem); margin-top: 1.25rem; }
.ipi-service-portal__head h2 { margin-top: .25rem; }
.ipi-service-access-card { padding: 1.35rem; background: #f7fafc; }
.ipi-service-access-card.is-warning { border-color: #f0c36d; background: #fff8e7; }
.ipi-service-page-content .ipi-public-booking,
.ipi-service-page-content .ipi-public-pricing,
.ipi-service-page-content .ipi-form { margin-top: 1rem; }
@media (max-width: 900px) {
  .ipi-primary-navigation { width: 100%; }
  .ipi-portal-grid { flex-wrap: wrap !important; }
}
