/* Allen Drug And Variety: scoped branding, unchanged Hyde Park geometry/fonts. */
:root {
  --font-display: 'Inter', -apple-system, 'Segoe UI', sans-serif;
  --brand: #76631f;
  --brand-dark: #554614;
  --brand-tint: #f5f0df;
  --ink: #292722;
  --ink-soft: #59564e;
  --line: #e5dfcf;
  --paper: #fdfbf7;
  --cream: #f5f1e7;
}
/* Patient Portal: screenshot-led split composition, scoped to this customer. */
.allen-portal { padding: 48px 0 64px; }
.allen-portal-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.allen-portal-art { min-width: 0; }
.allen-portal-art img { display: block; width: 100%; height: auto; border: 0; border-radius: 0; object-fit: contain; }
.allen-portal-copy { min-width: 0; }
.allen-portal-eyebrow { color: var(--brand); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin: 0 0 16px; }
.allen-portal-copy h1 { font-size: clamp(28px, 2.7vw, 38px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 24px; }
.allen-portal-intro { color: var(--ink-soft); font-size: 17px; line-height: 1.7; margin: 0 0 30px; }
.allen-portal-features { list-style: none; padding: 0; margin: 0 0 30px; display: grid; gap: 23px; }
.allen-portal-features li { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 14px; }
.allen-portal-features svg { color: var(--brand); margin-top: 2px; }
.allen-portal-features h2 { color: var(--brand-dark); font-size: 15px; line-height: 1.5; margin: 0 0 5px; font-weight: 700; }
.allen-portal-features p { color: var(--ink); font-size: 15px; line-height: 1.7; margin: 0; }
.allen-portal-copy .btn { white-space: normal; text-align: center; padding: 15px 24px; }
.allen-portal-install { background: var(--cream); padding: 64px 0; }
.allen-portal-install .wrap { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: 64px; }
.allen-portal-install h2 { font-size: clamp(25px, 3vw, 34px); line-height: 1.25; letter-spacing: -.025em; margin: 0 0 22px; }
.allen-portal-install p { color: var(--ink-soft); line-height: 1.8; margin: 0 0 22px; }
.allen-portal-install img { width: 100%; max-width: 380px; height: auto; justify-self: center; }
@media (max-width: 767px) {
  .allen-portal { padding: 30px 0 44px; }
  .allen-portal-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .allen-portal-art { width: min(100%, 400px); margin: 0 auto; }
  .allen-portal-copy h1 { font-size: 30px; }
  .allen-portal-intro { font-size: 16px; }
  .allen-portal-install { padding: 44px 0; }
  .allen-portal-install .wrap { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .allen-portal-install img { max-width: 300px; }
}
h1,h2,h3,h4,h5,h6,blockquote,.fun-accent,.pp-accent { font-family: var(--font-body) !important; font-style: normal !important; }
.allen-language { display: inline-flex; gap: 2px; padding: 2px; border: 1px solid #fff8; border-radius: 20px; }
.allen-language button { background: transparent; color: white; border: 0; border-radius: 16px; padding: 4px 8px; min-height: 28px; font: 600 12px var(--font-body); cursor: pointer; }
.allen-language button[aria-pressed="true"] { background: white; color: #554614; }
.allen-language button:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.topbar-right { display: flex; align-items: center; gap: 16px; }
.split > *, .hero2-grid > *, .service-body-layout > *, .portal-promo > * { min-width: 0; }
.service-menu-copy, .prose, .pp-text, .hero2-text { overflow-wrap: anywhere; }
.service-menu-title { white-space: normal; }
.hero2-checks { max-width: 100%; }
.hero2-checks li { min-width: 0; }
.service-menu-all { border-top: 0; border-bottom: 1px solid var(--line); }
.prose .breadcrumbs a { color: #554614; }
[data-source-policy] .muted { color: #59564e !important; }
.logo-link img { max-width: 240px; object-fit: contain; }
.footer-logo { width: auto; height: auto; max-width: 220px; max-height: 100px; object-fit: contain; }
.hero2 .hero2-image { object-fit: contain; background: var(--cream); }
.hero2-hl::after { background: #b29a42; }
.hero2-pin, .hero2-badge { color: var(--brand-dark); }
.page-hero-brand { background: linear-gradient(120deg, #554614, #76631f, #89732d, #554614); }
.breadcrumbs { color: #eee5c8; }
.transferApp > div { border: 0 !important; box-shadow: none !important; padding: 0 !important; }
.allen-source-copy { max-width: none; }
.allen-source-copy img { max-width: 100%; height: auto; }
.allen-source-copy ul:not(.unstyledList) { padding-left: 24px; }
.allen-grouped-list { display: grid; gap: 14px 28px; list-style: none; margin: 0; padding: 0; }
.allen-grouped-list > li { border-bottom: 1px solid var(--line); padding: 12px 0; }
.allen-source-gallery { display: grid; gap: 22px; margin: 28px 0; }
.allen-source-gallery img { width: 100%; height: auto; object-fit: contain; }
.primary-nav button svg, .drawer .dd-toggle svg { flex: 0 0 16px; width: 16px; height: 16px; }
.portal-promo .pp-text ul { padding-left: 20px; }
.portal-promo .pp-text li p { margin-bottom: 12px; }
.portal-promo .pp-phones img[data-phone-artwork="device"] { border: 0; box-shadow: none; border-radius: 0; transform: none; max-width: min(306px, 100%) !important; max-height: 383px !important; }
.portal-promo .pp-phones { overflow: visible; }
.portal-promo .pp-phones { height: auto; align-self: center; display: flex; justify-content: center; padding-bottom: 28px; }
.reviews-btn:focus-visible { outline: 3px solid #76631f; outline-offset: 3px; }
/* Reserve the measured vendor form space without restricting its auto-resize. */
.transferApp > div { min-height: 1500px; }
@media (max-width: 767px) { .transferApp > div { min-height: 1814px; } }
.allen-store-badges { align-items: center; }
.allen-store-badges a { display: inline-flex; align-items: center; min-height: 44px; }
.allen-store-badges img { width: 150px; max-width: 100%; height: auto; }
.transfer-help { max-width: 720px; margin-top: 32px; }
.transfer-help h2 { font-size: 1.3rem; }
.allen-slide-caption { padding: 16px 20px; background: var(--paper); }
.allen-slide-caption h2 { font-size: 1.25rem; margin-bottom: 8px; }
.allen-slide-caption p { font-size: .93rem; margin: 0; color: var(--ink-soft); }
.hero2-card [data-hero-slide][hidden] { display: none; }
.hero2-card [data-hero-slide] { height: 100%; display: flex; flex-direction: column; }
.hero2-card [data-hero-slide] .hero2-image { position: static; height: 260px; min-height: 0; width: 100%; flex: 1 1 auto; object-fit: contain; }
.hero2-card .allen-slide-caption { flex: 0 0 auto; padding-bottom: 24px; }
.hero2-card .allen-slide-caption h2 { margin-bottom: 6px; }
.hero2-float { top: 50%; bottom: auto; transform: translateY(-50%); }
.allen-mobile-page { background: #fff; padding: 30px 0 90px; }
.allen-mobile-page h1 { text-align: center; font-size: 32px; line-height: 1.3; margin: 0 0 76px; }
.allen-mobile-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; }
.allen-mobile-art { display: flex; justify-content: center; min-width: 0; }
.allen-mobile-art img { width: 306px; max-width: 100%; height: auto; object-fit: contain; }
.allen-mobile-details { min-width: 0; text-align: center; }
.allen-mobile-details h2 { font-size: 24px; line-height: 1.45; margin: 0 0 34px; }
.allen-mobile-details p { line-height: 1.65; margin: 0 auto 34px; max-width: 570px; }
.allen-mobile-details .allen-store-badges { justify-content: center; gap: 32px; }
@media (max-width: 767px) {
  .allen-mobile-page { padding: 28px 0 56px; }
  .allen-mobile-page h1 { margin-bottom: 36px; }
  .allen-mobile-layout { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .allen-mobile-art img { width: 260px; }
  .allen-mobile-details h2 { font-size: 23px; margin-bottom: 24px; }
  .allen-mobile-details .allen-store-badges { gap: 18px; }
}
.hero2-checks { flex-wrap: wrap; }
.hero2-checks li { white-space: normal; }
.hero2 { background: linear-gradient(160deg, #faf8f1, #f0ead9); }
.hero2::after { background: linear-gradient(90deg, rgba(250,248,241,.97), rgba(250,248,241,.8) 48%, rgba(250,248,241,.55)); }
.portal-promo .pp-text ul, .portal-promo .pp-text li, .portal-promo .pp-text li p { color: #fff; }
.portal-promo .pp-text li strong { color: #fff; }
.policy-page-title { font-family: var(--font-display); font-weight: 600; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.2; margin: 0; color: #fff; }
.portal-promo .pp-btn-outline:hover,
.portal-promo .pp-btn-outline:focus-visible,
.portal-promo .pp-btn-outline:active { color: #292722; background: #fff; border-color: #fff; }
@media (min-width: 768px) {
  .allen-grouped-list, .allen-source-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .logo-link img { max-width: 200px; }
  .footer-logo { max-width: 200px; max-height: 88px; }
}
