/* iPhytos professional theme — layered on top of USWDS + app CSS.
   Brand colours are taken from the Uriphytol flyer (green + deep navy). */

@font-face{font-family:"Public Sans Web";font-weight:400;font-style:normal;font-display:swap;src:url(/uswds/fonts/public-sans/PublicSans-Regular.woff2) format("woff2"),url(/uswds/fonts/public-sans/PublicSans-Regular.woff) format("woff")}
@font-face{font-family:"Public Sans Web";font-weight:500;font-style:normal;font-display:swap;src:url(/uswds/fonts/public-sans/PublicSans-Medium.woff2) format("woff2"),url(/uswds/fonts/public-sans/PublicSans-Medium.woff) format("woff")}
@font-face{font-family:"Public Sans Web";font-weight:600;font-style:normal;font-display:swap;src:url(/uswds/fonts/public-sans/PublicSans-SemiBold.woff2) format("woff2"),url(/uswds/fonts/public-sans/PublicSans-SemiBold.woff) format("woff")}
@font-face{font-family:"Public Sans Web";font-weight:700;font-style:normal;font-display:swap;src:url(/uswds/fonts/public-sans/PublicSans-Bold.woff2) format("woff2"),url(/uswds/fonts/public-sans/PublicSans-Bold.woff) format("woff")}
@font-face{font-family:"Public Sans Web";font-weight:800;font-style:normal;font-display:swap;src:url(/uswds/fonts/public-sans/PublicSans-ExtraBold.woff2) format("woff2"),url(/uswds/fonts/public-sans/PublicSans-ExtraBold.woff) format("woff")}

:root{
  --ip-green:#2f9e4f;
  --ip-green-dark:#237a3c;
  --ip-green-soft:#eaf6ee;
  --ip-navy:#0f1b2d;
  --ip-navy-2:#182a44;
  --ip-ink:#1c2736;
  --ip-muted:#5b6778;
  --ip-line:#e3e8ee;
  --ip-bg:#f6f8fa;
  --ip-radius:14px;
  --ip-shadow:0 1px 2px rgba(15,27,45,.06),0 8px 24px rgba(15,27,45,.07);
  --ip-shadow-lg:0 2px 4px rgba(15,27,45,.06),0 18px 44px rgba(15,27,45,.13);
  --ip-font:"Public Sans Web","Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

html{scroll-behavior:smooth}
body,
.usa-prose>p,.usa-prose>ul,.usa-prose>ol,
.usa-button,.usa-input,.usa-select,.usa-textarea,
.usa-nav__link,.usa-footer,.usa-breadcrumb,.usa-card__body,.usa-accordion__button{
  font-family:var(--ip-font)!important;
}
body{color:var(--ip-ink);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.65}

/* ---------- Typography: drop the serif headings ---------- */
h1,h2,h3,h4,h5,h6,
.usa-card__heading,.usa-hero__heading,.usa-footer__logo-heading,
.hero-slider__title,[class*="font-heading"]{
  font-family:var(--ip-font)!important;
  color:var(--ip-navy);
  letter-spacing:-.02em;
  line-height:1.2;
  font-weight:700;
}
h1{font-weight:800;letter-spacing:-.03em}
.usa-intro,.usa-section>.grid-container>p{font-family:var(--ip-font)!important;color:var(--ip-muted);font-size:1.15rem;line-height:1.7}
a{color:var(--ip-green-dark);text-underline-offset:3px}
a:hover{color:var(--ip-navy)}
::selection{background:var(--ip-green);color:#fff}
:focus-visible{outline:3px solid #7cc990!important;outline-offset:2px;border-radius:6px}

/* eyebrow labels ("ABOUT IPHYTOS" …) */
.usa-section__eyebrow,[class*="text-primary"][class*="text-bold"][class*="text-uppercase"],
p.text-primary.text-uppercase{color:var(--ip-green-dark)!important;letter-spacing:.14em;font-weight:700}

/* ---------- Header / navigation ---------- */
.usa-header{background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--ip-line);position:sticky;top:0;z-index:100}
.usa-header--basic .usa-logo{margin:.6rem 0}
.usa-logo img,.usa-navbar img{max-height:2.9rem;width:auto}
@media (min-width:64em){
  .usa-nav{background:transparent}
  .usa-nav__primary{gap:0;flex-wrap:nowrap}
  .usa-nav__primary>.usa-nav__primary-item{margin:0}
  .usa-nav__link,.usa-nav__link span{white-space:nowrap}
  .usa-nav-container{max-width:76rem!important}
  .usa-nav__primary>.usa-nav__primary-item>a,.usa-nav__link{
    color:var(--ip-navy-2)!important;font-weight:600;font-size:.9rem;padding:.5rem .65rem!important;border-radius:999px;transition:background .15s,color .15s}
  .usa-nav__primary>.usa-nav__primary-item>a:hover,.usa-nav__link:hover{background:var(--ip-green-soft)!important;color:var(--ip-green-dark)!important}
  .usa-nav__link.usa-current,.usa-nav__primary .usa-current{color:var(--ip-green-dark)!important;background:var(--ip-green-soft)}
  .usa-nav__link.usa-current::after,.usa-nav__primary .usa-current::after{display:none!important}
  .usa-nav__link::after,.usa-nav__link span::after{display:none!important}
}
.usa-nav__link.ip-nav-cta,.usa-nav__link[href="/find-pharmacy"]{color:var(--ip-green-dark)!important}
.usa-menu-btn{background:var(--ip-navy)!important;border-radius:10px}
.usa-nav{border-color:var(--ip-line)}
.usa-nav__close{border-radius:8px}

/* ---------- Buttons ---------- */
.usa-button{
  background:var(--ip-green)!important;color:#fff!important;border-radius:999px!important;
  font-weight:700;padding:.8rem 1.5rem;letter-spacing:.01em;
  box-shadow:0 6px 16px rgba(47,158,79,.28);transition:transform .15s,box-shadow .15s,background .15s}
.usa-button:hover{background:var(--ip-green-dark)!important;transform:translateY(-1px);box-shadow:0 10px 22px rgba(47,158,79,.34)}
.usa-button:active{transform:none}
.usa-button--outline{background:transparent!important;color:var(--ip-green-dark)!important;box-shadow:inset 0 0 0 2px var(--ip-green)!important}
.usa-button--outline:hover{background:var(--ip-green-soft)!important;color:var(--ip-green-dark)!important;box-shadow:inset 0 0 0 2px var(--ip-green-dark)!important}
.usa-button--outline.usa-button--inverse{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)!important}
.usa-button--outline.usa-button--inverse:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
.usa-button-group__item .usa-button{margin-right:.5rem}

/* ---------- Hero slider ---------- */
.hero-slider{background:var(--ip-navy)}
.hero-slider__caption{background:linear-gradient(to top,rgba(10,20,36,.94),rgba(10,20,36,.62) 55%,rgba(10,20,36,0))!important;padding:6rem 0 3.2rem!important}
.hero-slider__title{color:#fff!important;font-size:clamp(1.7rem,3.4vw,2.8rem);font-weight:800;max-width:34ch;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero-slider__text,.hero-slider__caption p{color:rgba(255,255,255,.9)!important;max-width:62ch;font-size:1.05rem}
.hero-slider__arrow{background:rgba(255,255,255,.16)!important;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.35)!important;border-radius:50%!important;transition:background .15s}
.hero-slider__arrow:hover{background:rgba(255,255,255,.3)!important}
.hero-slider__dot{background:rgba(255,255,255,.45)!important;border:0!important}
.hero-slider__dot.is-active{background:#fff!important;width:1.6rem!important;border-radius:999px!important}

/* ---------- Sections, cards, tags ---------- */
.usa-section{padding-top:4.5rem;padding-bottom:4.5rem}
.usa-section--light{background:var(--ip-bg)!important}
.usa-section--dark{background:var(--ip-navy)!important}
.usa-card__container{border:1px solid var(--ip-line)!important;border-radius:var(--ip-radius)!important;box-shadow:var(--ip-shadow);overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}
.usa-card__container:hover{transform:translateY(-3px);box-shadow:var(--ip-shadow-lg)}
.usa-card__img img{transition:transform .5s}
.usa-card__container:hover .usa-card__img img{transform:scale(1.04)}
.usa-card__heading{font-size:1.2rem}
.usa-tag{background:var(--ip-green-soft)!important;color:var(--ip-green-dark)!important;border-radius:999px!important;padding:.25rem .7rem;font-weight:700;letter-spacing:.04em}
.usa-summary-box,.usa-alert{border-radius:var(--ip-radius)}
.usa-summary-box{background:var(--ip-green-soft)!important;border:1px solid #cfe9d7!important}
.usa-alert--info{background:var(--ip-green-soft)!important;border-left-color:var(--ip-green)!important}
.usa-breadcrumb{background:transparent!important}
.usa-hero{border-radius:0}
.usa-accordion__button{border-radius:10px;font-weight:700;color:var(--ip-navy)}
.usa-accordion__button:hover{background:var(--ip-green-soft)!important}
.usa-accordion__content{border-radius:0 0 10px 10px}
.usa-step-indicator__segment--current::after,.usa-step-indicator__segment--complete::after{background:var(--ip-green)!important}

/* forms */
.usa-input,.usa-select,.usa-textarea{border:1.5px solid #cdd5df!important;border-radius:10px!important;padding:.7rem .9rem;height:auto;transition:border-color .15s,box-shadow .15s}
.usa-input:focus,.usa-select:focus,.usa-textarea:focus{border-color:var(--ip-green)!important;box-shadow:0 0 0 4px rgba(47,158,79,.16);outline:0!important}
.usa-label{font-weight:600;color:var(--ip-navy)}

/* progress bars on pipeline cards */
progress,[role="progressbar"]{accent-color:var(--ip-green)}

/* ---------- Footer ---------- */
.usa-footer{background:var(--ip-navy)!important;color:#d5dde8;margin-top:0}
.usa-footer .usa-footer__primary-section,.usa-footer .usa-footer__secondary-section{background:transparent!important;border:0!important}
.usa-footer__primary-section{border-bottom:1px solid rgba(255,255,255,.1)!important}
.usa-footer__primary-link{color:#e8eef5!important;text-decoration:none!important;font-weight:600;border-radius:6px;padding:.35rem 0;transition:color .15s}
.usa-footer__primary-link:hover{color:#7fd596!important}
.usa-footer,.usa-footer p,.usa-footer address,.usa-footer a,.usa-footer__logo-heading{color:#d5dde8!important}
.usa-footer__logo-heading{font-size:1.05rem!important;font-weight:600;max-width:34ch;line-height:1.45;color:#fff!important}
.usa-footer__logo-img{background:#fff;border-radius:10px;padding:.3rem .5rem;max-height:3.2rem!important}
.usa-footer__address a{text-decoration:none!important;display:inline-block;margin-right:1rem}
.usa-footer__address a:hover{color:#7fd596!important}
.usa-footer__secondary-section p{opacity:.8}
.usa-social-link{width:2.6rem;height:2.6rem;border-radius:50%!important;background:rgba(255,255,255,.1)!important;color:transparent!important;position:relative;overflow:hidden;font-size:0;transition:background .15s}
.usa-social-link:hover{background:var(--ip-green)!important}
.usa-social-link::after{content:"";position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:1.15rem}
.usa-social-link[href*="facebook"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M13.5 22v-8.2h2.8l.5-3.3h-3.3V8.4c0-.9.4-1.7 1.8-1.7h1.6V3.8s-1.4-.3-2.8-.3c-2.8 0-4.4 1.7-4.4 4.6v2.4H7v3.3h2.7V22z'/%3E%3C/svg%3E")}
.usa-social-link[href*="instagram"]::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='.8' fill='white'/%3E%3C/svg%3E")}

/* chatbot launcher */
.fixed.bottom-4.right-4 button,button[class*="rounded-full"][class*="fixed"]{box-shadow:var(--ip-shadow-lg)}

/* Find-a-pharmacy banner (injected on home) */
.ip-banner{background:linear-gradient(120deg,var(--ip-navy),var(--ip-navy-2) 60%,#1f4a3a);color:#fff;padding:3.2rem 0}
.ip-banner .wrap{max-width:64rem;margin:0 auto;padding:0 1rem;display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.ip-banner h2{color:#fff;margin:0 0 .4rem;font-size:clamp(1.4rem,2.6vw,2rem)}
.ip-banner p{color:rgba(255,255,255,.85);margin:0;max-width:52ch}
.ip-banner a.usa-button{white-space:nowrap}

@media (max-width:40em){
  .usa-section{padding-top:3rem;padding-bottom:3rem}
  .hero-slider__caption{padding:4rem 0 2.6rem!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- Remap app "primary" (Tailwind utilities) from USWDS blue to brand green ---------- */
.bg-primary,.hover\:bg-primary:hover{background-color:var(--ip-green)!important}
.bg-primary-dark,.hover\:bg-primary-dark:hover{background-color:var(--ip-green-dark)!important}
.hover\:bg-primary\/80:hover,.hover\:bg-primary\/90:hover{background-color:var(--ip-green-dark)!important}
.bg-primary\/10,.bg-primary\/20{background-color:var(--ip-green-soft)!important}
.text-primary,.hover\:text-primary:hover,.group:hover .group-hover\:text-primary{color:var(--ip-green-dark)!important}
.border-primary{border-color:var(--ip-green)!important}
.ring-primary{--tw-ring-color:var(--ip-green)!important}
.from-primary{--tw-gradient-from:var(--ip-green)!important}
.fixed.bottom-4.right-4 button,.fixed button.bg-primary{box-shadow:0 10px 28px rgba(47,158,79,.4)}
.ip-banner{border-bottom:1px solid rgba(255,255,255,.12)}
.usa-footer__secondary-section p{font-size:.9rem!important;font-weight:500!important}
.usa-footer__primary-section{padding-top:2rem}

/* ---------- Dark containers: keep text light (hero callouts, dark sections, outline-inverse buttons) ---------- */
.usa-hero__callout,.usa-section--dark,.usa-footer,.ip-banner,.hero-slider__caption,.nv-now,.fp-hero,
.bg-primary-dark,.bg-primary-darker,[class*="bg-base-darkest"],[class*="bg-ink"]{color:#fff}
.usa-hero__callout *,.usa-section--dark *,.bg-primary-dark *,.bg-primary-darker *{color:inherit}
.usa-hero__callout h1,.usa-hero__callout h2,.usa-hero__callout h3,.usa-hero__heading,.usa-hero__heading--alt,
.usa-section--dark h1,.usa-section--dark h2,.usa-section--dark h3,.bg-primary-dark h1,.bg-primary-dark h2,.bg-primary-dark h3{color:#fff!important}
.usa-hero__callout p,.usa-hero__callout .usa-intro,.usa-section--dark p,.bg-primary-dark p{color:rgba(255,255,255,.9)!important}
.usa-hero__callout .usa-hero__heading--alt{color:#8fe0a5!important;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem}
.usa-hero__callout .usa-button--outline,.usa-section--dark .usa-button--outline,.bg-primary-dark .usa-button--outline{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)!important;background:transparent!important}
.usa-hero__callout .usa-button--outline:hover,.usa-section--dark .usa-button--outline:hover{background:rgba(255,255,255,.14)!important;color:#fff!important}
.usa-hero__callout{background:var(--ip-navy-2)!important;border-radius:var(--ip-radius)}

/* home pipeline progress bars: brand green instead of USWDS blue */
[role="progressbar"]>div{background-color:var(--ip-green)!important;border-radius:999px}

/* ---------- Segmented tab buttons (Products & Services, FAQ): proper spacing ---------- */
.usa-button-group--segmented{display:flex;flex-wrap:wrap;gap:.65rem;margin:0 0 .5rem;padding:0;list-style:none}
.usa-button-group--segmented .usa-button-group__item{margin:0!important;padding:0;border:0!important;width:auto!important;flex:0 0 auto}
.usa-button-group--segmented .usa-button-group__item::before,.usa-button-group--segmented .usa-button-group__item::after,.usa-button-group--segmented .usa-button::before,.usa-button-group--segmented .usa-button::after{content:none!important;display:none!important}
.usa-section .usa-button-group--segmented{margin:1.2rem 0 1.5rem}
.usa-button-group--segmented .usa-button{margin:0!important;width:auto!important;border-radius:999px!important;padding:.7rem 1.5rem;min-height:2.75rem;box-shadow:none}
.usa-button-group--segmented .usa-button:not(.usa-button--outline){box-shadow:0 4px 12px rgba(35,122,60,.25)}
.usa-button-group--segmented .usa-button:focus-visible{outline:3px solid #9fe3b1;outline-offset:2px}

/* ---------- Products & Services polish ---------- */
.usa-card-group{gap:1.25rem 0}
.usa-card__container{border-radius:16px;overflow:hidden;transition:transform .18s,box-shadow .18s}
.usa-card__container:hover{transform:translateY(-3px);box-shadow:var(--ip-shadow-lg)}
.usa-card__img img{object-fit:cover}
.usa-section .usa-accordion{display:grid;gap:.6rem}
.usa-section .usa-accordion__heading{margin:0!important}
.usa-section .usa-accordion__button{border-radius:12px!important;padding:1rem 1.25rem}
.usa-section .usa-accordion__content{border-radius:0 0 12px 12px;padding:1rem 1.25rem}
.usa-section{padding-top:3rem;padding-bottom:3rem}
@media (max-width:40em){
  .usa-button-group--segmented .usa-button{padding:.6rem 1.1rem;font-size:.9rem}
}

/* ---------- News & Events polish ---------- */
/* featured story: cap the photo height instead of a huge portrait */
.usa-card.grid-col-12 .usa-card__img img{width:100%;max-height:22rem;height:22rem;object-fit:cover;object-position:center 30%}
/* story grid: equal-height cards, uniform photos, tidy excerpts */
.usa-card.desktop\:grid-col-4 .usa-card__img img,.usa-card.desktop\:grid-col-3 .usa-card__img img{width:100%;height:13rem;object-fit:cover;object-position:center 30%}
.usa-card.desktop\:grid-col-4 .usa-card__container,.usa-card.desktop\:grid-col-3 .usa-card__container{height:100%;display:flex;flex-direction:column}
.usa-card.desktop\:grid-col-4 .usa-card__body,.usa-card.desktop\:grid-col-3 .usa-card__body{flex:1}
.usa-card.desktop\:grid-col-4 .usa-card__body p,.usa-card.desktop\:grid-col-3 .usa-card__body p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.usa-card.desktop\:grid-col-4 .usa-card__heading,.usa-card.desktop\:grid-col-3 .usa-card__heading{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.usa-card.desktop\:grid-col-4 .usa-card__footer,.usa-card.desktop\:grid-col-3 .usa-card__footer{margin-top:auto}
/* filter pills (All / News / Events) */
.usa-button-group:not(.usa-button-group--segmented){display:flex;flex-wrap:wrap;gap:.65rem;margin:0;padding:0;list-style:none}
.usa-button-group:not(.usa-button-group--segmented) .usa-button-group__item{margin:0!important;padding:0;width:auto!important;border:0!important}
.usa-button-group:not(.usa-button-group--segmented) .usa-button{margin:0!important;width:auto!important;border-radius:999px;padding:.6rem 1.3rem}
.usa-search--small .usa-input{border-radius:999px 0 0 999px}
.usa-search--small .usa-search__submit{border-radius:0 999px 999px 0}
@media (max-width:40em){
  .usa-card.grid-col-12 .usa-card__img img{height:15rem}
  .usa-search--small{width:100%}
}
.usa-button-group{flex-direction:row!important}
@media (max-width:40em){
  .usa-search--small{display:flex;width:100%;margin-top:.8rem}
  .usa-search--small [role=search],.usa-search--small .usa-search__form{display:flex;width:100%}
  .usa-search--small .usa-input{flex:1;min-width:0}
  .usa-search--small .usa-search__submit,.usa-search--small button{width:3.2rem!important;flex:0 0 3.2rem;padding:0}
}

/* ---------- Contact page ---------- */
.usa-hero[aria-label="Contact Us"]{background:linear-gradient(90deg,rgba(10,61,74,.88),rgba(10,61,74,.55) 55%,rgba(10,61,74,.15)),url(/images/about-us2.jpeg) center/cover no-repeat!important;min-height:26rem;display:flex;align-items:center;padding:3rem 0}
.usa-hero[aria-label="Contact Us"] .grid-container{width:100%}
.usa-hero[aria-label="Contact Us"] .usa-hero__callout{background:rgba(10,38,52,.55)!important;backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);max-width:34rem;padding:2rem 2rem 2.2rem;margin:0}
.usa-hero[aria-label="Contact Us"] .usa-overline{color:#9fe3b1!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;margin:0 0 .5rem}
.usa-hero[aria-label="Contact Us"] .usa-hero__heading{margin:0 0 .8rem}
.usa-hero[aria-label="Contact Us"] .usa-hero__heading--alt{color:#fff;font-size:clamp(2rem,4vw,2.8rem);font-weight:800}
.usa-hero[aria-label="Contact Us"] p{color:rgba(255,255,255,.92)}
.usa-hero[aria-label="Contact Us"] .usa-button-group{margin-top:1.4rem}
.usa-hero[aria-label="Contact Us"] .usa-button{white-space:nowrap}
/* contact info cards */
.usa-card.tablet\:grid-col-3 .usa-card__container{height:100%}
.usa-card.tablet\:grid-col-3 .usa-card__header svg{color:var(--ip-green-dark)}
@media (max-width:40em){
  .usa-hero[aria-label="Contact Us"]{min-height:0;padding:2rem 0;background:linear-gradient(180deg,rgba(10,61,74,.8),rgba(10,61,74,.7)),url(/images/about-us2.jpeg) center/cover no-repeat!important}
  .usa-hero[aria-label="Contact Us"] .usa-hero__callout{padding:1.4rem}
}
/* centred section intros + full-width forms */
.usa-prose.text-center>*{margin-left:auto!important;margin-right:auto!important;text-align:center;max-width:44rem}
.usa-form,.usa-form--large{max-width:none!important}
.usa-form .usa-input,.usa-form .usa-select,.usa-form .usa-textarea{max-width:none!important;width:100%!important;border-radius:10px}
.usa-form .usa-label{margin-top:.2rem}
.usa-form .usa-textarea{min-height:9rem}
@media (max-width:40em){.usa-card-group .usa-card{margin-bottom:.4rem}}
/* embedded office map */
.aspect-video.overflow-hidden{aspect-ratio:16/7;border-radius:16px;box-shadow:var(--ip-shadow);border:1px solid var(--ip-line);background:#eef2f5}
@media (max-width:40em){.aspect-video.overflow-hidden{aspect-ratio:4/3}}
