/* Westridge Pharmacy flagship custom site template
   Safe to edit freely: this file only affects public_slug=westridge-pharmacy. */

:root {
    --wp-ink: #0b1f26;
    --wp-ink-2: #12313b;
    --wp-muted: #60727b;
    --wp-bg: #f4fbf9;
    --wp-bg-2: #ebf8f5;
    --wp-card: #ffffff;
    --wp-brand: #0f766e;
    --wp-brand-2: #13b8a6;
    --wp-brand-3: #67e8d7;
    --wp-deep: #042622;
    --wp-deep-2: #073b35;
    --wp-soft: #e9fffb;
    --wp-soft-2: #f0fdfa;
    --wp-warm: #f97316;
    --wp-gold: #facc15;
    --wp-danger: #ef4444;
    --wp-radius-sm: 18px;
    --wp-radius: 30px;
    --wp-radius-lg: 44px;
    --wp-shadow-soft: 0 18px 55px rgba(15, 23, 42, .08);
    --wp-shadow: 0 28px 90px rgba(15, 23, 42, .12);
    --wp-shadow-deep: 0 36px 120px rgba(0, 0, 0, .32);
    --wp-border: 1px solid rgba(15, 118, 110, .12);
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body.business-body {
    margin: 0 !important;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 0 0, rgba(20, 184, 166, .14), transparent 32%),
        linear-gradient(180deg, #f7fffd 0%, #f3fbf8 46%, #edf8f5 100%) !important;
    color: var(--wp-ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.business-body::before,
body.business-body::after {
    display: none !important;
}

.business-body .container {
    width: min(100% - 32px, 1180px);
    max-width: 1180px;
}

/* Main layout removes the old builder gutters and makes the custom site feel like a real website. */
.wp-site-shell {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 3%, rgba(20, 184, 166, .16), transparent 28%),
        radial-gradient(circle at 95% 16%, rgba(249, 115, 22, .08), transparent 34%),
        linear-gradient(180deg, #f8fffd 0%, #f3fbf8 44%, #eef8f5 100%);
}

.wp-site-shell::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(15,118,110,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15,118,110,.045) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.68), transparent 62%);
}

/* Navbar from the global business layout, styled only for Westridge. */
.business-navbar {
    background: rgba(4, 38, 34, .86) !important;
    backdrop-filter: blur(22px) saturate(1.18);
    border-bottom: 1px solid rgba(153, 246, 228, .16) !important;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .18);
    color: #fff !important;
}

.business-navbar .container {
    width: min(100% - 24px, 1180px);
}

.business-navbar .navbar-brand,
.business-navbar .brand-name-text {
    color: #fff !important;
    font-weight: 950;
    letter-spacing: -.03em;
}

.business-navbar .business-navbar-logo-wrap {
    background: rgba(255,255,255,.94) !important;
    border: 1px solid rgba(255,255,255,.42);
    box-shadow: 0 12px 30px rgba(0,0,0,.22);
}

.business-navbar .business-navbar-logo {
    object-fit: contain;
}

.business-navbar .nav-link {
    position: relative;
    color: rgba(240,253,250,.86) !important;
    font-weight: 850;
    padding-inline: 12px !important;
}

.business-navbar .nav-link::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--wp-brand-3), rgba(249,115,22,.8));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
}

.business-navbar .nav-link:hover,
.business-navbar .nav-link:focus {
    color: #fff !important;
}

.business-navbar .nav-link:hover::after,
.business-navbar .nav-link:focus::after {
    transform: scaleX(1);
}

.business-navbar .navbar-toggler {
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.08);
}

.business-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(1) brightness(1.6);
}

.btn-brand,
.business-navbar .btn-brand,
.site-footer-cta {
    border: 0 !important;
    background: linear-gradient(135deg, var(--wp-brand-2), var(--wp-brand), #0f5f58) !important;
    color: #fff !important;
    box-shadow: 0 18px 42px rgba(20, 184, 166, .26);
    font-weight: 950;
}

.btn-brand:hover,
.business-navbar .btn-brand:hover,
.site-footer-cta:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 54px rgba(20, 184, 166, .34);
}

.wp-hero {
    position: relative;
    isolation: isolate;
    min-height: min(860px, calc(100vh - 78px));
    display: flex;
    align-items: center;
    padding: clamp(78px, 9vw, 138px) 0 clamp(64px, 8vw, 104px);
    background:
        linear-gradient(130deg, rgba(3, 21, 19, .96), rgba(4, 43, 38, .94) 46%, rgba(8, 70, 61, .9)),
        radial-gradient(circle at 82% 24%, rgba(103,232,215,.35), transparent 28%);
    color: #ecfffb;
}

.wp-hero-bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}

.wp-hero-bg::before,
.wp-hero-bg::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    filter: blur(4px);
    pointer-events: none;
}

.wp-hero-bg::before {
    width: 44vw;
    height: 44vw;
    right: -14vw;
    top: -16vw;
    background: radial-gradient(circle, rgba(103,232,215,.34), transparent 60%);
}

.wp-hero-bg::after {
    width: 30vw;
    height: 30vw;
    left: -10vw;
    bottom: -12vw;
    background: radial-gradient(circle, rgba(249,115,22,.18), transparent 58%);
}

.wp-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .78fr);
    gap: clamp(34px, 6vw, 82px);
    align-items: center;
}

.wp-eyebrow-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.wp-kicker,
.wp-soft-pill,
.wp-section-head span,
.wp-community-card span,
.wp-contact-card > span {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    padding: 9px 13px;
    background: rgba(153, 246, 228, .14);
    color: #a7fff0;
    border: 1px solid rgba(153, 246, 228, .24);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.wp-soft-pill {
    background: rgba(255,255,255,.08);
    color: rgba(236,255,251,.84);
    border-color: rgba(255,255,255,.14);
}

.wp-hero h1 {
    max-width: 880px;
    margin: 20px 0 18px;
    font-size: clamp(44px, 6.4vw, 88px);
    line-height: .9;
    letter-spacing: -.075em;
    font-weight: 1000;
    color: #fff;
    text-wrap: balance;
}

.wp-hero-lead {
    max-width: 760px;
    margin: 0;
    color: rgba(236, 255, 251, .82);
    font-size: clamp(17px, 2vw, 22px);
    line-height: 1.68;
}

.wp-hero-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 30px;
}

.wp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 15px 22px;
    min-height: 54px;
    font-weight: 950;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.wp-btn:hover {
    transform: translateY(-2px);
}

.wp-btn-primary {
    background: #fff;
    color: #06322d;
    box-shadow: 0 22px 50px rgba(0, 0, 0, .26);
}

.wp-btn-soft {
    background: rgba(255,255,255,.10);
    color: #fff;
    border: 1px solid rgba(255,255,255,.22);
}

.wp-btn-soft:hover {
    background: rgba(255,255,255,.16);
    color: #fff;
}

.wp-trust-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 28px;
}

.wp-trust-row span {
    border-radius: 999px;
    padding: 10px 13px;
    color: rgba(236, 255, 251, .9);
    background: rgba(255, 255, 255, .075);
    border: 1px solid rgba(255, 255, 255, .12);
    font-size: 13px;
    font-weight: 850;
}

.wp-hero-visual {
    position: relative;
    min-width: 0;
}

.wp-image-card {
    overflow: hidden;
    min-height: clamp(360px, 44vw, 570px);
    border-radius: 44px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.20);
    box-shadow: var(--wp-shadow-deep);
    transform: rotate(1.4deg);
}

.wp-image-card img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(360px, 44vw, 570px);
    object-fit: cover;
    transform: scale(1.02);
}

.wp-image-placeholder {
    min-height: clamp(360px, 44vw, 570px);
    display: grid;
    place-items: center;
    font-size: 120px;
    font-weight: 950;
    color: #99f6e4;
}

.wp-hero-mini-card,
.wp-floating-note {
    position: absolute;
    padding: 18px;
    border-radius: 26px;
    background: rgba(255,255,255,.95);
    color: var(--wp-ink);
    box-shadow: var(--wp-shadow);
    border: 1px solid rgba(255,255,255,.72);
}

.wp-hero-mini-card {
    right: -14px;
    bottom: 26px;
    width: min(330px, 86%);
}

.wp-floating-note {
    left: -16px;
    top: 28px;
    width: min(230px, 68%);
    background: rgba(7, 47, 42, .82);
    color: #ecfffb;
    backdrop-filter: blur(16px);
    border-color: rgba(153,246,228,.20);
}

.wp-hero-mini-card span,
.wp-floating-note span,
.wp-quick-grid span {
    display: block;
    margin-bottom: 5px;
    color: var(--wp-brand);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.wp-floating-note span {
    color: rgba(236,255,251,.72);
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    margin: 4px 0 0;
}

.wp-hero-mini-card strong,
.wp-floating-note strong {
    display: block;
    font-size: 22px;
    line-height: 1.1;
}

.wp-hero-mini-card small {
    display: block;
    margin-top: 5px;
    color: var(--wp-muted);
    line-height: 1.45;
}

.wp-quick-strip {
    position: relative;
    margin-top: -38px;
    z-index: 5;
}

.wp-quick-grid {
    display: grid;
    grid-template-columns: .65fr 1.15fr .85fr;
    gap: 12px;
    padding: 14px;
    border-radius: 30px;
    background: rgba(255,255,255,.94);
    box-shadow: var(--wp-shadow);
    border: 1px solid rgba(15, 118, 110, .10);
    backdrop-filter: blur(18px);
}

.wp-quick-grid div {
    min-width: 0;
    padding: 15px 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, #fff, #f8fafc);
    border: 1px solid rgba(15,118,110,.08);
}

.wp-quick-grid strong {
    color: var(--wp-ink);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.wp-action-band,
.wp-services,
.wp-community,
.wp-process,
.wp-gallery,
.wp-faq,
.wp-contact {
    position: relative;
    padding: clamp(62px, 8vw, 108px) 0;
}

.wp-section-head {
    max-width: 780px;
    margin-bottom: 30px;
}

.wp-section-head-split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .74fr);
    gap: 24px;
    align-items: end;
    max-width: none;
}

.wp-section-head-center {
    margin-inline: auto;
    text-align: center;
}

.wp-section-head span,
.wp-community-card span,
.wp-contact-card > span {
    background: var(--wp-soft);
    color: var(--wp-brand);
    border-color: rgba(15, 118, 110, .14);
}

.wp-section-head h2,
.wp-community-card h2,
.wp-contact-card h2 {
    margin: 14px 0 10px;
    color: var(--wp-ink);
    font-size: clamp(32px, 4.2vw, 56px);
    line-height: .98;
    letter-spacing: -.055em;
    font-weight: 1000;
    text-wrap: balance;
}

.wp-section-head p,
.wp-community-card p,
.wp-contact-card p {
    color: var(--wp-muted);
    font-size: 17px;
    line-height: 1.72;
}

.wp-action-grid,
.wp-service-grid,
.wp-gallery-grid,
.wp-faq-grid,
.wp-process-grid {
    display: grid;
    gap: 16px;
}

.wp-action-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-action-card,
.wp-service-card,
.wp-process-grid article,
.wp-faq details,
.wp-contact-card,
.wp-form-card,
.wp-community-card {
    border-radius: var(--wp-radius);
    background: rgba(255,255,255,.92);
    box-shadow: var(--wp-shadow-soft);
    border: var(--wp-border);
}

.wp-action-card,
.wp-service-card,
.wp-process-grid article {
    position: relative;
    overflow: hidden;
}

.wp-action-card::before,
.wp-service-card::before,
.wp-process-grid article::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 85% 10%, rgba(20,184,166,.12), transparent 34%);
    opacity: 0;
    transition: opacity .2s ease;
}

.wp-action-card:hover::before,
.wp-service-card:hover::before,
.wp-process-grid article:hover::before {
    opacity: 1;
}

.wp-action-card {
    display: grid;
    align-content: start;
    gap: 10px;
    min-height: 190px;
    padding: 24px;
    color: inherit;
    text-decoration: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wp-action-card:hover {
    transform: translateY(-4px);
    border-color: rgba(20,184,166,.24);
    box-shadow: var(--wp-shadow);
}

.wp-action-card span,
.wp-service-icon,
.wp-process-grid article span {
    width: 48px;
    min-width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: linear-gradient(135deg, var(--wp-brand), var(--wp-brand-2));
    color: #fff;
    font-weight: 950;
    font-size: 13px;
    box-shadow: 0 16px 34px rgba(20,184,166,.22);
}

.wp-action-card strong,
.wp-service-card h3,
.wp-process-grid article strong {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 21px;
    line-height: 1.12;
    color: var(--wp-ink);
    font-weight: 950;
}

.wp-action-card small,
.wp-service-card p,
.wp-process-grid article p {
    position: relative;
    z-index: 1;
    color: var(--wp-muted);
    line-height: 1.62;
}

.wp-service-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-service-card {
    padding: 24px;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.wp-service-card:hover {
    transform: translateY(-4px);
    border-color: rgba(20,184,166,.22);
    box-shadow: var(--wp-shadow);
}

.wp-service-card a {
    display: inline-flex;
    margin-top: 12px;
    font-weight: 950;
    color: var(--wp-brand);
    text-decoration: none;
}

.wp-community {
    padding-block: clamp(54px, 7vw, 92px);
}

.wp-community-card {
    display: grid;
    grid-template-columns: minmax(0, .86fr) minmax(0, 1fr);
    gap: clamp(24px, 5vw, 64px);
    align-items: center;
    padding: clamp(30px, 5vw, 62px);
    background:
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(240,253,250,.94)),
        radial-gradient(circle at 100% 0, rgba(20,184,166,.20), transparent 38%);
}

.wp-process {
    background:
        linear-gradient(180deg, rgba(4,38,34,.03), transparent),
        #f8fffd;
}

.wp-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-process-grid article {
    padding: 26px;
}

.wp-gallery {
    background: linear-gradient(180deg, transparent, rgba(20,184,166,.05));
}

.wp-gallery-grid {
    grid-template-columns: 1.25fr .8fr .8fr;
    grid-auto-rows: 260px;
}

.wp-gallery-grid figure {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: 32px;
    background: #dbe8e6;
    box-shadow: var(--wp-shadow-soft);
    border: 1px solid rgba(255,255,255,.75);
}

.wp-gallery-grid figure:first-child {
    grid-row: span 2;
}

.wp-gallery-grid figure::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 56%, rgba(4, 38, 34, .24));
    pointer-events: none;
}

.wp-gallery-grid img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform .34s ease;
}

.wp-gallery-grid figure:hover img {
    transform: scale(1.05);
}

.wp-faq-grid {
    max-width: 940px;
    margin-inline: auto;
}

.wp-faq details {
    padding: 20px 22px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.wp-faq details[open] {
    border-color: rgba(20,184,166,.26);
    box-shadow: var(--wp-shadow-soft);
}

.wp-faq summary {
    cursor: pointer;
    color: var(--wp-ink);
    font-weight: 950;
    font-size: 18px;
    list-style: none;
}

.wp-faq summary::-webkit-details-marker {
    display: none;
}

.wp-faq summary::after {
    content: "+";
    float: right;
    width: 30px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: var(--wp-soft);
    color: var(--wp-brand);
}

.wp-faq details[open] summary::after {
    content: "–";
}

.wp-faq p {
    margin: 12px 0 0;
    color: var(--wp-muted);
    line-height: 1.72;
}

.wp-contact {
    background:
        radial-gradient(circle at 88% 15%, rgba(103,232,215,.22), transparent 34%),
        linear-gradient(135deg, #041e1b, #062d28 48%, #041c19);
    color: #eafffb;
}

.wp-contact-grid {
    display: grid;
    grid-template-columns: .82fr 1fr;
    gap: 20px;
}

.wp-contact-card,
.wp-form-card {
    padding: clamp(24px, 4vw, 44px);
}

.wp-contact-card {
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.13);
    box-shadow: none;
    backdrop-filter: blur(12px);
}

.wp-contact-card h2,
.wp-contact-card p {
    color: #fff;
}

.wp-contact-card p,
.wp-contact-list span {
    color: rgba(234,255,251,.74);
}

.wp-contact-list {
    display: grid;
    gap: 12px;
    margin-top: 24px;
}

.wp-contact-list div {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.08);
}

.wp-contact-list strong,
.wp-contact-list span {
    display: block;
}

.wp-form-card {
    background: #fff;
    box-shadow: 0 32px 90px rgba(0,0,0,.24);
}

.wp-form-card form {
    display: grid;
    gap: 14px;
}

.wp-form-card label {
    display: grid;
    gap: 7px;
    color: var(--wp-ink);
    font-weight: 850;
}

.wp-form-card input,
.wp-form-card textarea {
    width: 100%;
    border: 1px solid rgba(15, 118, 110, .18);
    border-radius: 18px;
    padding: 14px 15px;
    outline: none;
    background: #f8fafc;
    color: var(--wp-ink);
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.wp-form-card input:focus,
.wp-form-card textarea:focus {
    border-color: var(--wp-brand-2);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .12);
}

.wp-form-card button {
    border: 0;
    border-radius: 999px;
    padding: 16px 22px;
    background: linear-gradient(135deg, var(--wp-brand), var(--wp-brand-2));
    color: #fff;
    font-weight: 950;
    box-shadow: 0 18px 42px rgba(20, 184, 166, .26);
}

.wp-success {
    margin-bottom: 16px;
    border-radius: 18px;
    padding: 14px 16px;
    background: #dcfce7;
    color: #166534;
    font-weight: 850;
}

.wp-map {
    margin-top: 20px;
    overflow: hidden;
    border-radius: 32px;
    background: #fff;
    border: 1px solid rgba(255,255,255,.20);
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
}

.wp-map iframe {
    width: 100%;
    min-height: 390px;
    display: block;
}

.site-footer {
    background: #041b18 !important;
    color: rgba(234,255,251,.78) !important;
    border-top: 1px solid rgba(153,246,228,.12) !important;
}

.site-footer .site-footer-inner {
    gap: 18px;
}

.site-footer .site-footer-brand strong {
    color: #fff;
}

.site-footer .site-footer-logo {
    background: #fff;
    padding: 8px;
    border-radius: 18px;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.site-footer .text-muted,
.site-footer a {
    color: rgba(234,255,251,.72) !important;
}

.floating-whatsapp {
    right: 18px !important;
    bottom: 18px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: #fff !important;
    box-shadow: 0 18px 44px rgba(22,163,74,.30) !important;
    font-weight: 950 !important;
}

@media (max-width: 1180px) {
    .wp-action-grid,
    .wp-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991px) {
    .business-navbar .navbar-collapse {
        margin-top: 12px;
        padding: 12px;
        border-radius: 22px;
        background: rgba(4, 38, 34, .95);
        border: 1px solid rgba(153,246,228,.14);
    }

    .wp-hero {
        min-height: auto;
    }

    .wp-hero-grid,
    .wp-contact-grid,
    .wp-community-card,
    .wp-process-grid,
    .wp-quick-grid,
    .wp-section-head-split {
        grid-template-columns: 1fr;
    }

    .wp-hero-mini-card {
        position: static;
        margin: -34px 18px 0 auto;
    }

    .wp-floating-note {
        left: 18px;
        top: 18px;
    }

    .wp-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: 230px;
    }
}

@media (max-width: 700px) {
    .business-body .container,
    .business-navbar .container {
        width: min(100% - 22px, 1180px);
    }

    .wp-hero {
        padding-top: 56px;
    }

    .wp-hero h1 {
        font-size: clamp(40px, 13vw, 62px);
    }

    .wp-hero-actions,
    .wp-btn {
        width: 100%;
    }

    .wp-action-grid,
    .wp-service-grid,
    .wp-gallery-grid {
        grid-template-columns: 1fr;
    }

    .wp-gallery-grid figure:first-child {
        grid-row: auto;
    }

    .wp-image-card {
        min-height: 340px;
        border-radius: 32px;
        transform: none;
    }

    .wp-image-card img,
    .wp-image-placeholder {
        min-height: 340px;
    }

    .wp-floating-note {
        display: none;
    }

    .wp-hero-mini-card {
        width: auto;
        margin: -24px 12px 0;
    }

    .wp-quick-strip {
        margin-top: -24px;
    }

    .wp-quick-grid {
        border-radius: 24px;
    }

    .wp-action-card,
    .wp-service-card,
    .wp-process-grid article,
    .wp-faq details,
    .wp-contact-card,
    .wp-form-card,
    .wp-community-card {
        border-radius: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
        animation-duration: .001ms !important;
    }
}

/* v58 polish: elegance, anchors, subtle motion, and corrected Why-us target. */
:root {
    --wp-shadow-float: 0 22px 55px rgba(2, 6, 23, .10), 0 2px 10px rgba(15, 118, 110, .06);
    --wp-shadow-hover: 0 30px 85px rgba(2, 6, 23, .16), 0 8px 26px rgba(20, 184, 166, .10);
    --wp-glass: rgba(255, 255, 255, .78);
}

#hero,
#services,
#features,
#process,
#gallery,
#faq,
#contact {
    scroll-margin-top: 96px;
}

.wp-anchor-shim {
    position: absolute;
    top: -96px;
    width: 1px;
    height: 1px;
    pointer-events: none;
}

.business-navbar {
    transition: background .24s ease, box-shadow .24s ease, border-color .24s ease, transform .24s ease;
}

.business-navbar.is-scrolled {
    background: rgba(4, 26, 24, .94) !important;
    box-shadow: 0 20px 70px rgba(2, 6, 23, .24);
    border-bottom-color: rgba(153, 246, 228, .22) !important;
}

.business-navbar .nav-link.is-active {
    color: #fff !important;
}

.business-navbar .nav-link.is-active::after {
    transform: scaleX(1);
}

.wp-hero {
    background:
        linear-gradient(135deg, rgba(3, 18, 17, .97), rgba(4, 43, 38, .96) 45%, rgba(6, 63, 56, .94)),
        radial-gradient(circle at 78% 22%, rgba(103,232,215,.34), transparent 30%),
        radial-gradient(circle at 12% 82%, rgba(249,115,22,.14), transparent 34%);
}

.wp-hero h1 {
    text-shadow: 0 22px 70px rgba(0,0,0,.32);
}

.wp-hero-lead {
    max-width: 700px;
}

.wp-image-card {
    position: relative;
    border: 1px solid rgba(255, 255, 255, .26);
    box-shadow: 0 42px 120px rgba(0, 0, 0, .38), 0 0 0 10px rgba(255, 255, 255, .055);
    transition: transform .45s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .45s ease;
}

.wp-image-card::before {
    content: "";
    position: absolute;
    inset: 14px;
    z-index: 2;
    border-radius: 32px;
    border: 1px solid rgba(255,255,255,.28);
    pointer-events: none;
}

.wp-image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(4,38,34,.02), rgba(4,38,34,.18));
    pointer-events: none;
}

.wp-image-card:hover {
    transform: rotate(.4deg) translateY(-5px);
    box-shadow: 0 50px 140px rgba(0, 0, 0, .42), 0 0 0 10px rgba(153,246,228,.07);
    border-color: rgba(153, 246, 228, .34);
}

.wp-quick-grid,
.wp-action-card,
.wp-service-card,
.wp-process-grid article,
.wp-faq details,
.wp-contact-card,
.wp-form-card,
.wp-community-card {
    box-shadow: var(--wp-shadow-float);
}

.wp-action-card,
.wp-service-card,
.wp-process-grid article,
.wp-faq details,
.wp-gallery-grid figure {
    transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, background .24s ease;
}

.wp-action-card:hover,
.wp-service-card:hover,
.wp-process-grid article:hover,
.wp-faq details:hover {
    transform: translateY(-6px);
    box-shadow: var(--wp-shadow-hover);
}

.wp-action-card:focus-visible,
.wp-service-card:focus-visible,
.wp-btn:focus-visible,
.wp-form-card button:focus-visible,
.business-navbar a:focus-visible {
    outline: 3px solid rgba(103, 232, 215, .65);
    outline-offset: 3px;
}

.wp-action-card:nth-child(1) span { background: linear-gradient(135deg, #0f766e, #14b8a6); }
.wp-action-card:nth-child(2) span { background: linear-gradient(135deg, #2563eb, #06b6d4); }
.wp-action-card:nth-child(3) span { background: linear-gradient(135deg, #7c3aed, #14b8a6); }
.wp-action-card:nth-child(4) span { background: linear-gradient(135deg, #f97316, #0f766e); }

.wp-why-us {
    background:
        radial-gradient(circle at 8% 8%, rgba(20,184,166,.12), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(240,253,250,.55));
}

.wp-community-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(20, 184, 166, .16);
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(240,253,250,.92)),
        radial-gradient(circle at 100% 0, rgba(20,184,166,.22), transparent 42%);
}

.wp-community-card::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    right: -70px;
    bottom: -90px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(20,184,166,.16), transparent 68%);
    pointer-events: none;
}

.wp-community-copy {
    position: relative;
    z-index: 1;
}

.wp-why-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 18px;
}

.wp-why-grid article {
    border-radius: 22px;
    padding: 16px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(15,118,110,.10);
}

.wp-why-grid strong,
.wp-why-grid small {
    display: block;
}

.wp-why-grid strong {
    color: var(--wp-ink);
    font-weight: 950;
    line-height: 1.2;
}

.wp-why-grid small {
    margin-top: 7px;
    color: var(--wp-muted);
    line-height: 1.55;
}

.wp-gallery-grid figure {
    box-shadow: 0 18px 46px rgba(2, 6, 23, .10);
}

.wp-gallery-grid figure:hover {
    transform: translateY(-5px);
    box-shadow: var(--wp-shadow-hover);
}

.wp-form-card {
    background:
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,252,.94));
    border: 1px solid rgba(15,118,110,.13);
}

.wp-form-card input,
.wp-form-card textarea {
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.wp-form-card input:focus,
.wp-form-card textarea:focus {
    border-color: rgba(20,184,166,.55) !important;
    box-shadow: 0 0 0 4px rgba(20,184,166,.12) !important;
    background: #fff !important;
}

.wp-btn.is-pressed,
.wp-action-card.is-pressed,
.wp-service-card.is-pressed,
.wp-form-card button.is-pressed {
    transform: scale(.985) translateY(0) !important;
}

.wp-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s ease, transform .55s cubic-bezier(.2,.8,.2,1);
}

.wp-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 991px) {
    .wp-why-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    #hero,
    #services,
    #features,
    #process,
    #gallery,
    #faq,
    #contact {
        scroll-margin-top: 86px;
    }

    .wp-community-card {
        padding: 26px;
    }

    .wp-gallery-grid figure {
        min-height: 240px;
    }
}

/* v60 red-accent pharmacy finish: neat red accents, image glow, and robust Why-us anchor. */
:root {
    --wp-brand: #b91c1c;
    --wp-brand-2: #dc2626;
    --wp-brand-3: #fb7185;
    --wp-red: #dc2626;
    --wp-red-2: #ef4444;
    --wp-red-dark: #7f1d1d;
    --wp-red-soft: #fff1f2;
    --wp-red-glow: rgba(220, 38, 38, .24);
    --wp-red-border: rgba(220, 38, 38, .18);
    --wp-teal-quiet: #0f766e;
    --wp-shadow-red: 0 28px 80px rgba(127, 29, 29, .16), 0 0 0 1px rgba(220, 38, 38, .09);
    --wp-shadow-red-hover: 0 34px 100px rgba(127, 29, 29, .22), 0 0 42px rgba(239, 68, 68, .18);
}

.wp-scroll-anchor {
    display: block;
    position: relative;
    top: -100px;
    width: 1px;
    height: 1px;
    pointer-events: none;
    visibility: hidden;
}

.business-navbar {
    background: rgba(16, 3, 4, .88) !important;
    border-bottom-color: rgba(248, 113, 113, .18) !important;
    box-shadow: 0 18px 62px rgba(127, 29, 29, .22), 0 1px 0 rgba(255,255,255,.08) inset;
}

.business-navbar .business-navbar-logo-wrap {
    border-color: rgba(248, 113, 113, .26);
    box-shadow: 0 12px 34px rgba(127, 29, 29, .28), 0 0 0 1px rgba(255,255,255,.18) inset;
}

.business-navbar .nav-link::after {
    background: linear-gradient(90deg, #fecaca, var(--wp-red-2), #fb7185);
}

.business-navbar .nav-link.is-active {
    color: #fff !important;
}

.business-navbar .nav-link.is-active::after {
    transform: scaleX(1);
}

.btn-brand,
.business-navbar .btn-brand,
.site-footer-cta,
.wp-btn-primary,
.wp-form-card button {
    background: linear-gradient(135deg, #ef4444, #dc2626, #991b1b) !important;
    box-shadow: 0 18px 46px rgba(220, 38, 38, .28), 0 0 0 1px rgba(255,255,255,.15) inset !important;
}

.btn-brand:hover,
.business-navbar .btn-brand:hover,
.site-footer-cta:hover,
.wp-btn-primary:hover,
.wp-form-card button:hover {
    box-shadow: 0 24px 70px rgba(220, 38, 38, .38), 0 0 44px rgba(248, 113, 113, .20) !important;
}

.wp-hero {
    background:
        radial-gradient(circle at 78% 18%, rgba(248, 113, 113, .30), transparent 30%),
        radial-gradient(circle at 12% 88%, rgba(20, 184, 166, .16), transparent 30%),
        linear-gradient(135deg, #170405 0%, #2b0708 44%, #071815 100%) !important;
}

.wp-hero-bg::before {
    background: radial-gradient(circle, rgba(248, 113, 113, .32), transparent 62%) !important;
}

.wp-hero-bg::after {
    background: radial-gradient(circle, rgba(220, 38, 38, .22), transparent 58%) !important;
}

.wp-image-card,
.wp-gallery-grid figure {
    border-color: rgba(255, 255, 255, .68) !important;
    box-shadow:
        0 34px 100px rgba(127, 29, 29, .26),
        0 0 42px rgba(239, 68, 68, .16),
        0 0 0 1px rgba(255,255,255,.16) inset !important;
}

.wp-image-card::before,
.wp-gallery-grid figure::before {
    background: linear-gradient(135deg, rgba(248,113,113,.28), transparent 38%, rgba(20,184,166,.14));
}

.wp-image-card:hover,
.wp-gallery-grid figure:hover {
    box-shadow:
        0 40px 120px rgba(127, 29, 29, .32),
        0 0 58px rgba(239, 68, 68, .22),
        0 0 0 1px rgba(255,255,255,.22) inset !important;
}

.wp-hero-mini-card,
.wp-floating-note,
.wp-quick-grid,
.wp-action-card,
.wp-service-card,
.wp-community-card,
.wp-process-grid article,
.wp-faq details,
.wp-contact-card,
.wp-form-card,
.wp-map {
    box-shadow: var(--wp-shadow-red);
    border-color: var(--wp-red-border);
}

.wp-action-card:hover,
.wp-service-card:hover,
.wp-process-grid article:hover,
.wp-faq details:hover,
.wp-contact-card:hover,
.wp-form-card:hover {
    box-shadow: var(--wp-shadow-red-hover);
    border-color: rgba(220, 38, 38, .24);
}

.wp-kicker,
.wp-soft-pill,
.wp-section-head span,
.wp-community-card span,
.wp-contact-card > span {
    background: var(--wp-red-soft);
    color: var(--wp-red-dark);
    border-color: rgba(220, 38, 38, .16);
}

.wp-hero .wp-kicker,
.wp-hero .wp-soft-pill {
    background: rgba(248, 113, 113, .16);
    color: #fecaca;
    border-color: rgba(248, 113, 113, .26);
}

.wp-trust-row span::before,
.wp-service-icon,
.wp-action-card > span,
.wp-process-grid article > span {
    background: linear-gradient(135deg, #fee2e2, #fecaca) !important;
    color: var(--wp-red-dark) !important;
    box-shadow: 0 12px 32px rgba(220, 38, 38, .16);
}

.wp-action-card::after,
.wp-service-card::after,
.wp-community-card::after,
.wp-contact-card::after,
.wp-form-card::after {
    background: radial-gradient(circle, rgba(248, 113, 113, .16), transparent 65%) !important;
}

.wp-faq summary::after {
    background: var(--wp-red-soft) !important;
    color: var(--wp-red-dark) !important;
}

.wp-quick-grid span,
.wp-hero-mini-card span,
.wp-contact-list strong,
.wp-service-card a {
    color: var(--wp-red-dark) !important;
}

.site-footer {
    background:
        radial-gradient(circle at 0 0, rgba(248,113,113,.18), transparent 34%),
        linear-gradient(135deg, #170405, #040708 70%) !important;
    box-shadow: 0 -30px 80px rgba(127, 29, 29, .16);
}

@media (max-width: 768px) {
    .wp-scroll-anchor { top: -82px; }
}


/* v62 asset mapping + Westridge logo polish */
.business-navbar .business-navbar-brand {
    gap: 12px;
}

.business-navbar .business-navbar-logo-wrap {
    width: 54px;
    height: 54px;
    min-width: 54px;
    border-radius: 18px !important;
    padding: 7px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 16px 42px rgba(127, 29, 29, .28), 0 0 0 1px rgba(255,255,255,.24) inset, 0 0 28px rgba(239,68,68,.16);
}

.business-navbar .business-navbar-logo {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

.business-navbar .brand-name-text {
    color: #fff !important;
    font-weight: 950;
    letter-spacing: -.035em;
    text-shadow: 0 8px 24px rgba(0,0,0,.28);
}

.site-footer-logo {
    width: 190px !important;
    max-width: min(190px, 70vw) !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 20px 38px rgba(220,38,38,.22));
}

.site-footer-brand strong {
    display: none !important;
}

#features,
#why-us,
#community,
#services,
#gallery,
#faq,
#contact,
#help,
#process {
    scroll-margin-top: 104px;
}

.wp-image-card,
.wp-gallery-grid figure,
.wp-action-card,
.wp-service-card,
.wp-community-card,
.wp-process-grid article,
.wp-faq details,
.wp-contact-card,
.wp-form-card,
.wp-map,
.wp-quick-grid {
    box-shadow:
        0 28px 80px rgba(127, 29, 29, .14),
        0 0 0 1px rgba(220, 38, 38, .10),
        0 0 36px rgba(239, 68, 68, .10) !important;
}

.wp-image-card:hover,
.wp-gallery-grid figure:hover,
.wp-action-card:hover,
.wp-service-card:hover,
.wp-process-grid article:hover,
.wp-faq details:hover,
.wp-contact-card:hover,
.wp-form-card:hover {
    box-shadow:
        0 34px 105px rgba(127, 29, 29, .20),
        0 0 0 1px rgba(220, 38, 38, .18),
        0 0 52px rgba(239, 68, 68, .16) !important;
}

.wp-image-card img,
.wp-gallery-grid img {
    transform-origin: center;
}

@media (max-width: 768px) {
    .business-navbar .business-navbar-logo-wrap {
        width: 46px;
        height: 46px;
        min-width: 46px;
        border-radius: 15px !important;
    }

    .business-navbar .brand-name-text {
        font-size: 14px;
    }
}

/* v61 Westridge polish: straight hero image, medical loader, cleaner section motion, and accurate section scrolling. */
html {
    scroll-padding-top: 104px;
}

.wp-hero-visual {
    perspective: 1100px;
}

.wp-image-card {
    transform: none !important;
    cursor: zoom-in;
    will-change: transform, box-shadow, filter;
    border-radius: clamp(28px, 4vw, 44px);
    transition:
        transform .42s cubic-bezier(.2,.8,.2,1),
        box-shadow .42s ease,
        border-color .42s ease,
        filter .42s ease !important;
}

.wp-image-card img {
    transform: scale(1) !important;
    transition: transform .56s cubic-bezier(.2,.8,.2,1), filter .42s ease !important;
}

.wp-image-card:hover,
.wp-image-card:focus-within,
.wp-image-card.is-hero-zoomed {
    transform: translateY(-6px) scale(1.025) !important;
    border-color: rgba(255, 255, 255, .86) !important;
    filter: saturate(1.06) contrast(1.03);
    box-shadow:
        0 38px 125px rgba(127, 29, 29, .30),
        0 0 72px rgba(239, 68, 68, .26),
        0 0 0 1px rgba(255,255,255,.30) inset !important;
}

.wp-image-card:hover img,
.wp-image-card:focus-within img,
.wp-image-card.is-hero-zoomed img {
    transform: scale(1.075) !important;
}

.wp-image-card:active,
.wp-image-card.is-hero-zoomed {
    cursor: zoom-out;
}

/* Remove the cards/staff-style overlays from the hero image so the pharmacy photo stays clean. */
.wp-hero-mini-card,
.wp-floating-note {
    display: none !important;
}

/* Subtle professional medical effects. */
.wp-hero::after {
    content: "+";
    position: absolute;
    right: min(7vw, 90px);
    bottom: min(9vw, 110px);
    z-index: 0;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.18);
    color: rgba(255,255,255,.34);
    font-size: 58px;
    font-weight: 900;
    line-height: 1;
    animation: wpMedicalFloat 5.6s ease-in-out infinite;
    pointer-events: none;
}

.wp-action-card,
.wp-service-card,
.wp-process-grid article,
.wp-faq details,
.wp-contact-card,
.wp-form-card,
.wp-community-card {
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        background .22s ease;
}

.wp-action-card:hover,
.wp-service-card:hover,
.wp-process-grid article:hover,
.wp-faq details:hover,
.wp-contact-card:hover,
.wp-form-card:hover,
.wp-community-card:hover {
    transform: translateY(-5px);
}

.wp-section-focus {
    animation: wpSectionFocus .9s ease both;
}

/* Medical page loader inserted by site.js. */
.wp-medical-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 35%, rgba(248, 113, 113, .14), transparent 34%),
        linear-gradient(135deg, #fff7f7 0%, #f8fffd 100%);
    transition: opacity .35s ease, visibility .35s ease;
}

.wp-medical-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.wp-loader-card {
    display: grid;
    place-items: center;
    gap: 14px;
    min-width: 220px;
    padding: 28px 26px;
    border-radius: 30px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(220, 38, 38, .14);
    box-shadow: 0 28px 88px rgba(127, 29, 29, .18);
    color: var(--wp-ink);
    text-align: center;
}

.wp-loader-cross {
    position: relative;
    width: 58px;
    height: 58px;
    border-radius: 18px;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    box-shadow: 0 16px 38px rgba(220, 38, 38, .32), 0 0 0 10px rgba(220, 38, 38, .08);
    animation: wpPulseCross 1.15s ease-in-out infinite;
}

.wp-loader-cross::before,
.wp-loader-cross::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 32px;
    height: 9px;
    border-radius: 999px;
    background: #fff;
    transform: translate(-50%, -50%);
}

.wp-loader-cross::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.wp-loader-card strong {
    font-size: 15px;
    letter-spacing: -.02em;
}

.wp-loader-card span {
    color: var(--wp-muted);
    font-size: 13px;
    font-weight: 750;
}

@keyframes wpPulseCross {
    0%, 100% { transform: scale(1); box-shadow: 0 16px 38px rgba(220, 38, 38, .30), 0 0 0 8px rgba(220, 38, 38, .08); }
    50% { transform: scale(1.08); box-shadow: 0 22px 55px rgba(220, 38, 38, .38), 0 0 0 16px rgba(220, 38, 38, .045); }
}

@keyframes wpMedicalFloat {
    0%, 100% { transform: translateY(0) rotate(-6deg); opacity: .55; }
    50% { transform: translateY(-14px) rotate(5deg); opacity: .9; }
}

@keyframes wpSectionFocus {
    0% { box-shadow: 0 0 0 rgba(239, 68, 68, 0); }
    35% { box-shadow: 0 0 0 7px rgba(239, 68, 68, .11); }
    100% { box-shadow: 0 0 0 rgba(239, 68, 68, 0); }
}

@media (max-width: 768px) {
    html { scroll-padding-top: 88px; }
    .wp-hero::after { display: none; }
    .wp-image-card:hover,
    .wp-image-card:focus-within,
    .wp-image-card.is-hero-zoomed {
        transform: translateY(-3px) scale(1.012) !important;
    }
}
