/* Park Hills product-level overrides. Keep Porto vendor and theme files unchanged. */
:root {
    --primary: #27829b;
    --primary-100: #23758b;
    --primary-200: #1f697c;
    --primary-300: #1b5b6d;
    --primary--100: #3d8fa5;
    --primary--200: #529caf;
    --primary--300: #68a9ba;
    --parkhills-link: #277f99;
}
/* Match the original Qwilo-based Park Hills typography throughout the Porto composition. */
body,
button,
input,
optgroup,
select,
textarea { color: #666; font-family: "Open Sans", Arial, sans-serif; }
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Open Sans", Arial, sans-serif; }
.nice-font,
.iq-curvy { font-family: "Open Sans", Arial, sans-serif; }
.umb-block-grid__layout-container,
.umb-block-grid__area-container {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: repeat(var(--umb-block-grid--grid-columns, 12), minmax(0, 1fr));
}
.umb-block-grid__layout-item {
    grid-column: span min(var(--umb-block-grid--item-column-span, 12), var(--umb-block-grid--grid-columns, 12));
    min-width: 0;
}
.umb-block-grid__area {
    grid-column: span min(var(--umb-block-grid--area-column-span, 12), var(--umb-block-grid--grid-columns, 12));
    min-width: 0;
}
.parkhills-column-layout .umb-block-grid__area > .umb-block-grid__layout-container { display: block; }
.parkhills-column-layout .umb-block-grid__area .umb-block-grid__layout-item + .umb-block-grid__layout-item { margin-top: 1.5rem; }
.parkhills-column-layout .umb-block-grid__area .section { background: transparent; margin: 0; padding: 0 !important; }
.parkhills-column-layout .umb-block-grid__area .section > .container,
.parkhills-column-layout .umb-block-grid__area .section > .container-fluid { max-width: 100%; padding-left: 0; padding-right: 0; }
.parkhills-classic-hero { min-height: 720px; background-position: center; background-size: cover; }
.parkhills-classic-hero.overlay:before { background: rgba(12, 27, 32, .32); }
.parkhills-hero-slider .owl-stage { display: flex; }
.parkhills-hero-slider .owl-item { min-height: 100%; }
.parkhills-hero-slider .owl-dots { bottom: 1.5rem; left: 0; position: absolute; right: 0; }
.parkhills-hero-slider .owl-nav { left: 0; margin: 0; pointer-events: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.parkhills-hero-slider .owl-nav button { opacity: .6; pointer-events: auto; position: absolute; }
.parkhills-hero-slider .owl-nav button span { font-size: 4rem; line-height: 1; }
.parkhills-hero-slider .owl-nav .owl-prev { left: 50px; }
.parkhills-hero-slider .owl-nav .owl-next { right: 50px; }
.parkhills-slide-title { font-size: clamp(2.35rem, 4vw, 3.25rem); letter-spacing: .01em; line-height: 1.08; text-transform: uppercase; }
.parkhills-article-body { font-size: 1.075rem; line-height: 1.8; }
.parkhills-page-header { background-color: var(--dark); background-position: center; background-repeat: no-repeat; background-size: cover; min-height: 245px; }
.parkhills-page-header > .container { align-items: center; display: flex; min-height: 149px; }
@media (max-width: 767.98px) { .parkhills-classic-hero { min-height: 560px; } }
.parkhills-brand { align-items: center; color: #fff; display: inline-flex; gap: .75rem; text-decoration: none; }
.parkhills-brand:hover { color: #fff; }
.parkhills-brand-classic, .parkhills-brand-classic:hover { color: var(--dark); }
.parkhills-brand-classic, .parkhills-brand-classic:hover { color: var(--dark); }
.parkhills-brand-logo { display: block; height: auto; max-width: 246px; width: 100%; }
.parkhills-classic-header .header-body { background: rgba(255, 255, 255, .92); }
.parkhills-classic-header .header-container { min-height: 166px; }
.parkhills-classic-header .header-logo { margin: 0; }
.parkhills-header-container { align-items: stretch !important; display: flex !important; flex-direction: column; justify-content: center; }
.parkhills-header-top { align-items: center; display: flex; justify-content: space-between; min-height: 105px; width: 100%; }
.parkhills-header-actions { align-items: center; gap: .75rem; }
.parkhills-mobile-header-actions { align-items: center; gap: .65rem; margin-left: auto; }
.parkhills-utility-icon { align-items: center; background: transparent; border: 0; border-left: 1px solid rgba(0, 0, 0, .18); color: #222; display: inline-flex; font-size: 1.2rem; height: 48px; justify-content: center; padding: 0; text-decoration: none; width: 58px; }
.parkhills-utility-icon:hover { color: var(--primary); }
.parkhills-share-button { background: var(--primary); border: 0; border-radius: 50%; color: #fff; height: 52px; width: 52px; }
.parkhills-share-button:hover { background: var(--primary-100); color: #fff; }
.parkhills-header-cta { align-items: center; background: var(--primary); border: 0; color: #fff; cursor: pointer; display: inline-flex; font-size: 1rem; font-weight: 600; min-height: 58px; padding: 0 1.5rem; text-decoration: none; text-transform: uppercase; }
.parkhills-header-cta:hover { background: var(--primary-100); color: #fff; }
.parkhills-header-nav-row { align-items: center; display: flex; min-height: 61px; width: 100%; }
.parkhills-classic-header .header-nav-main nav > ul { flex-wrap: nowrap; justify-content: space-between; width: 100%; }
.parkhills-classic-header .header-nav-main nav > ul > li { flex: 0 1 auto; white-space: nowrap; }
.parkhills-classic-header .header-nav-main nav > ul > li > a { color: #222; font-family: "Open Sans", Arial, sans-serif; font-size: clamp(.69rem, .86vw, .87rem); font-weight: 400; padding: 14px clamp(.45rem, .85vw, .9rem) !important; text-transform: uppercase; }
.parkhills-classic-header .header-nav-main nav > ul > li:hover > a,
.parkhills-classic-header .header-nav-main nav > ul > li > a.active { background: var(--primary); color: #fff; }
.parkhills-classic-header .dropdown-submenu { position: relative; }
.parkhills-classic-header .dropdown-submenu > .dropdown-menu { left: 100%; margin-left: 0; top: 0; }
.parkhills-classic-header .dropdown-submenu:hover > .dropdown-menu,
.parkhills-classic-header .dropdown-submenu:focus-within > .dropdown-menu { display: block; }
.parkhills-classic-header .header-nav-top { font-family: "Open Sans", Arial, sans-serif; }
.parkhills-header-home { left: 0; position: fixed !important; right: 0; top: 0; z-index: 1001; }
.parkhills-header-home .header-body { background: rgba(255, 255, 255, .82); }
.parkhills-hero-panel { background: rgba(45, 130, 154, .5); margin-top: 125px; max-width: 660px; padding: 48px 56px 50px; }
.parkhills-hero-panel h1 { font-size: clamp(2.35rem, 4vw, 3.25rem); letter-spacing: .01em; line-height: 1.08; text-transform: uppercase; }
.parkhills-hero-eyebrow { color: rgba(255,255,255,.86); font-size: .9rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.parkhills-hero-panel .parkhills-hero-summary { font-size: 1.35rem; line-height: 1.65; }
.parkhills-classic-hero .parkhills-hero-button { background: #fff; border: 0; border-radius: 0; color: #27829b !important; font-weight: 600; padding: .75rem 1.4rem; }
.parkhills-classic-hero .parkhills-hero-button:hover,
.parkhills-classic-hero .parkhills-hero-button:focus { background: #27829b; border: 0; color: #fff !important; }
.parkhills-hero { background-position: center; background-size: cover; height: 100vh; min-height: 720px; }
.parkhills-hero-summary { max-width: 48rem; }
.accordion-modern .accordion-toggle { color: var(--dark); font-size: 1rem; font-weight: 700; padding: 1.25rem; text-decoration: none; }
.accordion-modern .accordion-toggle:focus-visible { box-shadow: 0 0 0 .2rem rgba(0, 136, 204, .25); outline: 0; }
.accordion-modern .card { border-color: rgba(0, 0, 0, .08); }
.accordion-modern .card + .card { margin-top: .75rem; }
.parkhills-forms-accordion { max-width: 980px; }
.parkhills-forms-accordion .card-body { background: #fff; }
.parkhills-form-links li { border-bottom: 1px solid rgba(0, 0, 0, .08); padding: .75rem .25rem; }
.parkhills-form-links li:last-child { border-bottom: 0; }
.parkhills-form-links a { align-items: center; color: var(--dark); display: inline-flex; font-weight: 600; gap: .65rem; text-decoration: none; }
.parkhills-form-links a:hover { color: var(--primary); }
.parkhills-form-links i { color: var(--primary); width: 1rem; }
.parkhills-form-links p { font-size: .9375rem; margin: .25rem 0 0 1.65rem; }
.parkhills-page-column .section > .container,
.parkhills-page-column .section > .container-fluid,
.parkhills-sidebar .section > .container,
.parkhills-sidebar .section > .container-fluid { max-width: 100%; padding-left: 0; padding-right: 0; }
.parkhills-page-column .section:first-child,
.parkhills-sidebar .section:first-child { padding-top: 0 !important; }
.parkhills-page-column .section:last-child,
.parkhills-sidebar .section:last-child { padding-bottom: 0 !important; }
.parkhills-page-column .section,
.parkhills-sidebar .section { background-color: #fff; }
.parkhills-page-column > .umb-block-grid > .umb-block-grid__layout-container {
    gap: .35rem;
}
.parkhills-page-column .section {
    padding-bottom: .65rem !important;
    padding-top: .65rem !important;
}
.parkhills-page-column .umb-block-grid__layout-item[data-content-element-type-alias="richTextBlock"] .section,
.parkhills-sidebar .umb-block-grid__layout-item[data-content-element-type-alias="richTextBlock"] .section {
    padding-bottom: .65rem !important;
    padding-top: 0 !important;
}
.parkhills-page-column h2,
.parkhills-page-column h3,
.parkhills-page-column h4,
.parkhills-page-column h5,
.parkhills-page-column h6 { margin-bottom: .55rem; }
.parkhills-page-column .parkhills-rich-text p { margin-bottom: .7rem; }
.parkhills-page-column .parkhills-rich-text ul,
.parkhills-page-column .parkhills-rich-text ol { margin-bottom: .8rem; }
.parkhills-rich-text > :last-child { margin-bottom: 0; }
.parkhills-page-column .section h2 + .parkhills-rich-text,
.parkhills-page-column .section h3 + .parkhills-rich-text { margin-top: -.35rem; }
.parkhills-rich-text img {
    display: block;
    height: auto !important;
    max-width: 100% !important;
}
.parkhills-rich-text iframe,
.parkhills-rich-text video { max-width: 100%; }
.parkhills-divider { margin: .25rem 0; }
.parkhills-page-column .parkhills-divider { margin: .25rem 0; }
.parkhills-page-column .parkhills-text-image img { display: block; }
.parkhills-page-column .parkhills-text-image img.parkhills-round-portrait {
    aspect-ratio: 1;
    border-radius: 50%;
    object-fit: cover;
    width: min(100%, 340px);
}
.parkhills-sidebar .parkhills-rich-text { font-size: .9375rem; }
@media (max-width: 991.98px) {
    .parkhills-classic-header .header-container { height: auto !important; min-height: 72px; }
    .parkhills-header-top { min-height: 72px; }
    .parkhills-header-nav-row { height: 0; min-height: 0; position: relative; }
    .parkhills-header-nav-row .header-nav { align-self: auto; min-height: 0; padding: 0; }
    .parkhills-brand-logo { max-width: 205px; }
    .parkhills-mobile-header-actions .parkhills-header-cta { font-size: .8rem; min-height: 42px; padding: 0 .9rem; }
    #header .parkhills-mobile-header-actions .header-btn-collapse-nav { margin: 0; }
    .parkhills-header-nav-row .header-nav { width: 100%; }
}
.parkhills-testimonial-photo { width: 56px; height: 56px; object-fit: cover; }
.parkhills-statistic { border-top: 3px solid var(--primary, #0088cc); background: rgba(255,255,255,.04); }
.parkhills-gallery-image { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
.parkhills-gallery-link:hover .parkhills-gallery-image { transform: scale(1.03); }
.parkhills-gallery-zoom { align-items: center; background: rgba(0,0,0,.55); color: #fff; display: flex; inset: 0; justify-content: center; opacity: 0; position: absolute; transition: opacity .2s ease; }
.parkhills-gallery-link:hover .parkhills-gallery-zoom, .parkhills-gallery-link:focus-visible .parkhills-gallery-zoom { opacity: 1; }
.parkhills-video { max-width: 960px; }
@media (max-width: 767px) {
    .umb-block-grid__layout-container,
    .umb-block-grid__area-container { display: block; }
    .umb-block-grid__layout-item + .umb-block-grid__layout-item,
    .umb-block-grid__area + .umb-block-grid__area { margin-top: 1.5rem; }
    .parkhills-column-layout--reverse-mobile .umb-block-grid__area-container { display: flex; flex-direction: column-reverse; }
    .parkhills-brand-logo { max-width: 158px; }
    .parkhills-mobile-header-actions { gap: .4rem; }
    .parkhills-mobile-header-actions .parkhills-header-cta { font-size: .72rem; min-height: 38px; padding: 0 .65rem; }
    .parkhills-hero { min-height: 640px; }
    .parkhills-classic-header .header-container { min-height: 68px; }
    .parkhills-header-top { min-height: 68px; }
    .parkhills-header-home { position: relative !important; }
    .parkhills-hero-panel { margin-top: 0; padding: 32px 28px 35px; }
    .parkhills-hero-panel .parkhills-hero-summary { font-size: 1.05rem; line-height: 1.55; }
}

.parkhills-rich-text a:not(.btn), .post-content a:not(.btn) { color: var(--parkhills-link, var(--primary)); }
/* Umbraco Forms keeps its behavioral classes; these additions align controls with Porto. */
.parkhills-form-section .umbraco-forms-field { margin-bottom: 1.25rem; }
.parkhills-form-section label { display: inline-block; font-weight: 600; margin-bottom: .4rem; }
.parkhills-form-section input[type="text"],
.parkhills-form-section input[type="email"],
.parkhills-form-section input[type="tel"],
.parkhills-form-section input[type="number"],
.parkhills-form-section input[type="date"],
.parkhills-form-section select,
.parkhills-form-section textarea { display: block; width: 100%; padding: .75rem 1rem; border: 1px solid #ced4da; border-radius: .25rem; }
.parkhills-form-section input[type="submit"],
.parkhills-form-section button[type="submit"] { display: inline-block; padding: .75rem 1.5rem; border: 0; border-radius: .25rem; background: var(--primary); color: #fff; font-weight: 600; }
.parkhills-form-section .field-validation-error { display: block; color: #b02a37; margin-top: .35rem; }
