@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{font-family:"DM Sans",system-ui,-apple-system,sans-serif;color:#173d2e;background:white}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit}.fd-container{width:min(1120px,calc(100% - 44px));margin-inline:auto}
.fd-header{background:#173c2d;color:#fff}.fd-header__inner{min-height:59px;display:flex;align-items:center;gap:27px}.fd-brand{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:#fff;color:#223c31;text-decoration:none;border-radius:5px;line-height:.91;flex-shrink:0}.fd-brand img{height:31px;width:31px}.fd-brand span span,.fd-brand strong{display:block;font-size:12px;font-weight:500}.fd-brand strong{font-size:13px;font-weight:800}.fd-navigation{margin-left:auto;display:flex;align-items:center;gap:26px}.fd-navigation a{font-size:12px;text-decoration:none;font-weight:800;white-space:nowrap}.fd-navigation a:hover,.fd-footer a:hover{text-decoration:underline}.fd-contact-button{font-size:11px;font-weight:800;background:#e0f2e8;color:#14513b;padding:13px 20px;border-radius:25px;text-decoration:none}.fd-account{width:32px;height:32px;background:#fff;color:#72867c;border-radius:50%;display:grid;place-items:center;text-decoration:none}
.fd-hero{background:#edf5f0;text-align:center;padding:52px 0 48px}.fd-hero__content{max-width:650px}.fd-pill{display:inline-block;background:#119453;color:white;padding:7px 16px;border-radius:30px;font-size:12px;font-weight:800}.fd-hero h1{font-size:clamp(27px,3.3vw,39px);line-height:1.18;letter-spacing:-.045em;margin:20px 0 6px;font-weight:800}.fd-hero p{font-size:13px;max-width:510px;margin:0 auto;color:#7a9185;line-height:1.55}
.fd-section{margin:46px 0 24px}.fd-section--first{margin-top:48px;margin-bottom:24px}.fd-pharmacy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.fd-pharmacy-tile,.fd-related-card__image{position:relative;background:linear-gradient(135deg,#0b8457,#154a39);overflow:hidden;color:white;isolation:isolate}.fd-pharmacy-tile{min-height:157px;padding:35px 16px 18px;border-radius:7px;display:flex;flex-direction:column;align-items:start;justify-content:center}.fd-pharmacy-tile:nth-child(3n+2),.fd-related-card:nth-child(3n+2) .fd-related-card__image{background:linear-gradient(135deg,#188469,#214e3e)}.fd-pharmacy-tile:nth-child(3n+3){background:linear-gradient(135deg,#318256,#173f31)}.fd-pharmacy-tile>span:first-child,.fd-related-card__image>span:first-child{font-size:10px;font-weight:800;letter-spacing:.045em;z-index:1}.fd-pharmacy-tile h2{font-size:22px;letter-spacing:-.02em;font-weight:800;margin:9px 0 23px;line-height:1.1;z-index:1}.fd-pharmacy-tile small,.fd-related-card__image small{font-size:9px;border-radius:20px;background:#ffffff30;padding:4px 11px;min-width:106px;z-index:1}.fd-watermark{position:absolute!important;right:-15px;top:-85px;width:155px;height:155px;border-radius:50%;background:#ffffff1b;color:#ffffff45;font-size:118px;font-weight:700;line-height:1.78;text-align:center;z-index:0}
.fd-schedule{margin:24px 0 54px}.fd-shift{border:1px solid #e2ebe6;border-radius:8px;display:flex;overflow:hidden;background:white;min-height:92px}.fd-shift--current{margin-bottom:13px}.fd-shift__date{background:#ecf6ef;width:92px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#153f2c;text-transform:uppercase}.fd-shift__date span{font-size:10px;font-weight:700}.fd-shift__date strong{font-size:29px;line-height:1.05;font-weight:800}.fd-shift__body{padding:18px 16px;display:flex;flex-direction:column;justify-content:center;min-width:0}.fd-shift__body h2,.fd-shift__body h3{font-size:17px;font-weight:800;margin:0 0 5px}.fd-shift__body p{color:#8d9991;font-size:11px;margin:0}.fd-shift__body a{color:#117848;font-size:11px;margin-top:6px}.fd-schedule__upcoming{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px}.fd-no-upcoming{grid-column:1/-1;color:#61776a;font-size:13px}.fd-empty{padding:24px;background:#edf5f0;border-radius:8px;margin-bottom:15px}.fd-empty p{margin:8px 0 0;color:#637d70}.fd-disclaimer{margin:27px auto 0;max-width:650px;text-align:center;font-size:12px;line-height:1.55;color:#8b9a90}.fd-disclaimer strong{display:block;color:#386b51;font-size:12px;margin-bottom:5px}.fd-disclaimer span{display:block}
.fd-related{margin:65px 0 54px}.fd-related>h2{font-size:24px;font-weight:800;letter-spacing:-.03em;margin:0 0 22px}.fd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fd-related-card{border:1px solid #e1e9e3;border-radius:9px;overflow:hidden;min-width:0}.fd-related-card__image{height:190px;padding:34px 13px 20px;display:flex;flex-direction:column;align-items:start;justify-content:center;gap:12px}.fd-related-card__image>strong{font-size:25px;line-height:1.05;font-weight:800;position:relative;z-index:1;overflow-wrap:anywhere}.fd-related-card__image small{margin-top:8px}.fd-related-card__content{padding:14px 13px 13px;min-height:190px;display:flex;flex-direction:column}.fd-related-card__content h3{margin:0 0 8px;font-size:16px;font-weight:800}.fd-related-card__content p{font-size:12px;color:#65776c;margin:0 0 9px;line-height:1.55}.fd-related-card__category{font-size:11px;color:#1a8d5b}.fd-related-card__location{font-size:10px;color:#97a39a;margin-top:auto;padding-top:24px}.fd-related-card__action{font-size:16px;text-decoration:none;color:#60786b;border:1px solid #e5ece6;border-radius:4px;width:25px;height:25px;display:grid;place-items:center;margin-top:8px}
.fd-footer{background:#183f2e;color:#fff;padding-top:53px}.fd-footer__columns{display:grid;grid-template-columns:1.25fr .85fr .95fr 1fr;gap:40px;padding-bottom:52px}.fd-footer h2{font-size:13px;margin:0 0 14px}.fd-footer a,.fd-footer p{display:block;font-size:12px;line-height:1.6;color:#e4eee6;margin:0}.fd-footer__identity p{margin-top:21px}.fd-footer__bottom{border-top:1px solid #ffffff18;text-align:center;padding:15px 0;font-size:10px;color:#a9c0b2}
@media(max-width:760px){.fd-header__inner{flex-wrap:wrap;padding:11px 0;gap:12px}.fd-navigation{order:3;width:100%;justify-content:space-between;gap:10px;margin:0;padding-top:6px}.fd-navigation a{font-size:11px}.fd-contact-button{margin-left:auto;padding:9px 12px}.fd-hero{padding:43px 0}.fd-pharmacy-grid,.fd-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-related-card__image{height:165px}.fd-footer__columns{grid-template-columns:repeat(2,minmax(0,1fr))}.fd-pharmacy-tile{min-height:140px;padding:26px 13px 15px}.fd-pharmacy-tile h2{font-size:18px}}
@media(max-width:530px){.fd-container{width:calc(100% - 28px)}.fd-hero h1{font-size:26px}.fd-hero p{font-size:12px}.fd-pharmacy-grid{grid-template-columns:1fr;gap:10px}.fd-pharmacy-tile{min-height:125px}.fd-schedule__upcoming{grid-template-columns:1fr}.fd-shift__date{width:72px}.fd-shift__date strong{font-size:24px}.fd-shift__body h2,.fd-shift__body h3{font-size:15px}.fd-related-grid{grid-template-columns:1fr}.fd-related-card__content{min-height:140px}.fd-related-card__image{height:145px}.fd-footer__columns{gap:25px}.fd-navigation a{font-size:10px}}


/* Crop the white margins in CSS; preserve every byte of the supplied logo. */
.fd-brand{position:relative;width:118px;height:38px;padding:0;overflow:hidden}
.fd-brand img{position:absolute;width:150px;height:150px;max-width:none;left:-17px;top:-61px}
.fd-brand--footer{display:inline-block}
.fd-shift__body p,.fd-related-card__content p{overflow-wrap:anywhere}
a:focus-visible,button:focus-visible{outline:3px solid #47be86;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.fd-directory-note{font-size:12px;color:#65776c;margin:-10px 0 22px}

.fd-related-card__action{width:max-content;min-width:25px;padding:3px 7px;font-size:11px}

/* Compact, accessible mobile navigation; desktop navigation remains unchanged. */
.fd-mobile-menu{display:none}
@media(max-width:760px){
  .fd-header__inner{position:relative;flex-wrap:nowrap;gap:9px;padding:10px 0}
  .fd-navigation,.fd-contact-button{display:none}
  .fd-mobile-menu{display:block;margin-left:auto;flex:none}
  .fd-mobile-menu>summary{list-style:none;display:grid;place-items:center;width:40px;height:40px;border:1px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer}
  .fd-mobile-menu>summary::-webkit-details-marker{display:none}
  .fd-mobile-menu[open]>summary{background:#ffffff20}
  .fd-mobile-menu__links{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;display:grid;gap:3px;padding:10px;background:#173c2d;border:1px solid #ffffff30;border-radius:0 0 12px 12px;box-shadow:0 16px 28px #071e1780}
  .fd-mobile-menu__links a{display:block;padding:12px 14px;text-decoration:none;color:white;font-size:14px;font-weight:700;border-radius:7px}
  .fd-mobile-menu__links a:hover,.fd-mobile-menu__links a:focus-visible{background:#ffffff20}
  .fd-header .appearance-toggle,.fd-account{flex:none}
}
@media(max-width:530px){.fd-header__inner{gap:8px}}

/* Full-viewport mobile navigation, with theme control and hamburger only. */
.fd-mobile-menu__eyebrow{display:none}
@media(max-width:760px){
  .fd-header__inner{position:static}
  .fd-header .fd-brand{order:0}
  .fd-header .appearance-toggle{order:1;margin-left:auto}
  .fd-mobile-menu{order:2;margin-left:0}
  .fd-header .fd-account{display:none}
  .fd-mobile-menu[open] .fd-mobile-menu__links{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;gap:0;overflow-y:auto;background:#102e23;padding:110px max(24px,6vw) 45px;border:0;border-radius:0;box-shadow:none}
  .fd-mobile-menu__eyebrow{display:block;margin:0 0 22px;color:#93c6a9;letter-spacing:.19em;font-size:11px;font-weight:800}
  .fd-mobile-menu__links a{padding:16px 0;color:#f4f8f4;font-size:clamp(24px,7vw,36px);font-weight:600;letter-spacing:-.035em;border-radius:0;border-bottom:1px solid #ffffff1b}
  .fd-mobile-menu__links a:hover,.fd-mobile-menu__links a:focus-visible{background:transparent;color:#91e0b2}
  .fd-mobile-menu__links .fd-mobile-menu__account{margin-top:32px;display:flex;justify-content:space-between;align-items:center;background:#d6eee0;color:#153d2c;padding:16px 18px;font-size:17px;font-weight:800;letter-spacing:0;border:0;border-radius:8px}
  .fd-mobile-menu__links .fd-mobile-menu__account:hover{background:#bce8cf;color:#153d2c}
  .fd-mobile-menu>summary{position:relative;z-index:101}
  .fd-mobile-menu[open]>summary{position:fixed;top:12px;right:max(14px,calc((100vw - 1120px)/2));width:42px;height:42px;background:#214b38;border:1px solid #ffffff55}
  .fd-mobile-menu[open]>summary svg{display:none}
  .fd-mobile-menu[open]>summary::after{content:"×";font-size:30px;font-weight:400;line-height:1;color:white}
}

.fd-related-card__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55;z-index:0}.fd-related-card__image:has(.fd-related-card__photo)>.fd-watermark{display:none}


/* Duty cards and pharmacy directory: same Drago identity, neutral future dates. */
.fd-schedule [aria-label="Farmacias de turno actuales"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}
.fd-schedule .fd-shift{display:flex;flex-direction:column;border:1px solid #dce3df;border-radius:16px;background:#fff;color:#263b31;min-width:0;margin:0}
.fd-shift .fd-shift__date{position:relative;width:100%;min-height:144px;padding:28px 16px;background:#f1f2f1;color:#414b45}
.fd-shift__date time{display:flex;flex-direction:column;align-items:center;gap:5px}
.fd-shift .fd-shift__date strong{font-size:38px;line-height:1}
.fd-shift .fd-shift__date span{font-size:13px}
.fd-shift .fd-duty-label{position:absolute;right:14px;top:12px;border-radius:20px;background:#fff;color:#155a37;padding:7px 14px;font-weight:800}
.fd-shift.fd-shift--current{border-color:#21724b}
.fd-shift--current .fd-shift__date{background:linear-gradient(125deg,#174831,#277f50);color:#fff}
.fd-shift .fd-shift__body{padding:24px;gap:10px;align-items:flex-start}
.fd-shift .fd-shift__body h3{font-size:23px;line-height:1.3;overflow-wrap:anywhere;margin:0}
.fd-shift .fd-shift__body p{font-size:14px;line-height:1.6;color:#627269;margin:0}
.fd-shift .fd-duty-hours{font-size:12px}
.fd-contact-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.fd-contact-links a,.fd-shift .fd-contact-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #dce3df;background:#f6f8f7;border-radius:9px;color:#266343;text-decoration:none;font-size:14px;margin:0;overflow-wrap:anywhere;max-width:100%}
.fd-contact-links a:hover{background:#e9f2ec}
.fd-schedule__upcoming{gap:18px}
.fd-related-grid .fd-directory-card{background:#fff;border:1px solid #dce3df;border-radius:16px;color:#263b31}
.fd-directory-photo{aspect-ratio:3/2;width:100%;overflow:hidden;background:#f1f3f2}
.fd-directory-photo>img{display:block;width:100%;height:100%;object-fit:cover}
.fd-photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:#69786f;font-size:12px}
.fd-photo-placeholder img{width:95px;height:95px;object-fit:contain;border-radius:12px}
.fd-directory-card .fd-related-card__content{padding:24px;min-height:0;gap:10px}
.fd-directory-card .fd-related-card__content h3{font-size:23px;line-height:1.3;margin:0;overflow-wrap:anywhere}
.fd-directory-card .fd-related-card__content p{font-size:14px;line-height:1.6;margin:0;white-space:pre-line;overflow-wrap:anywhere}
@media(max-width:760px){.fd-schedule [aria-label="Farmacias de turno actuales"]{grid-template-columns:1fr}.fd-schedule__upcoming{grid-template-columns:1fr}.fd-shift .fd-shift__date{min-height:170px}.fd-shift .fd-shift__body{padding:24px}.fd-directory-photo{aspect-ratio:4/3}}
/* Align desktop theme/account controls as equal round buttons. */
.fd-header .appearance-toggle,.fd-header .fd-account{width:42px;height:42px;min-width:42px;flex:none;border-radius:50%;display:grid;place-items:center}

/* Desktop duty layout only: full-width current shift, two-column future shifts.
   Mobile keeps the existing vertically stacked cards unchanged. */
@media(min-width:761px){
  .fd-schedule [aria-label="Farmacias de turno actuales"]{grid-template-columns:1fr}
  .fd-schedule .fd-shift{flex-direction:row;align-items:stretch;min-height:116px}
  .fd-schedule .fd-shift__date{width:110px;min-height:116px;flex:0 0 110px;padding:15px 10px}
  .fd-schedule .fd-shift__date strong{font-size:29px}
  .fd-schedule .fd-shift__date span{font-size:11px}
  .fd-schedule .fd-shift__body{flex:1;justify-content:center;padding:18px 20px;gap:7px}
  .fd-schedule .fd-shift__body h3{font-size:18px}
  .fd-schedule .fd-shift--current .fd-shift__body h3{font-size:21px}
  .fd-schedule .fd-duty-label{right:8px;top:8px;padding:5px 9px;font-size:10px}
  .fd-schedule__upcoming{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
}

/* Compact, consistent header controls on desktop and mobile. */
.fd-header .appearance-toggle,.fd-header .fd-account{width:34px;height:34px;min-width:34px;border-radius:9px;display:grid;place-items:center;padding:0}
.fd-header .appearance-toggle svg,.fd-header .fd-account svg{width:18px;height:18px}

/* Desktop: place 'De turno' at the top-right of the complete card, not over the date. */
@media(min-width:761px){
  .fd-shift--current{position:relative}
  .fd-shift--current .fd-duty-label{position:absolute;top:12px;right:14px;z-index:1;background:#e5f5eb;color:#18573a;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:800;white-space:nowrap}
  .fd-shift--current .fd-shift__body{padding-right:104px}
}

/* Upcoming duty contacts are plain links; only the active duty gets a call button. */
.fd-shift--upcoming .fd-contact-links--upcoming{margin-top:0;gap:8px 14px}
.fd-shift--upcoming .fd-contact-links--upcoming a,.fd-shift--upcoming .fd-contact-links--upcoming a:hover{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px}
.fd-shift--current .fd-contact-links--current a{gap:8px}
.fd-shift--current .fd-contact-links--current a svg{flex:none}

/* Directory card detail: keep photo and brand mark intentionally empty when absent. */
.fd-directory-card{position:relative}
.fd-directory-card .fd-related-card__content{padding:20px;gap:10px}
.fd-directory-card .fd-related-card__content h3{font-size:18px;line-height:1.35}
.fd-directory-photo .fd-photo-placeholder{width:100%;height:100%;background:#eff2f1}
.fd-directory-logo-slot{position:absolute;z-index:2;top:auto;right:16px;width:72px;height:72px;background:#f1f3f2;border:1px solid #e4e9e6;border-radius:12px;transform:translateY(-50%);pointer-events:none}
.fd-directory-card .fd-directory-logo-slot{top:auto;margin-top:-36px}
.fd-directory-card .fd-related-card__content{position:relative}
.fd-contact-links--directory a{gap:7px}
.fd-contact-links--directory a svg{flex:none}
@media(max-width:760px){.fd-directory-logo-slot{width:66px;height:66px}.fd-directory-card .fd-directory-logo-slot{margin-top:-33px}}

/* Badge is a direct card child: date-block placement on mobile, card corner on desktop. */
.fd-shift--current{position:relative}
@media(max-width:760px){.fd-shift--current .fd-duty-label{position:absolute;top:12px;right:14px;z-index:2}}
@media(min-width:761px){.fd-shift--current .fd-duty-label{position:absolute;top:12px;right:14px;left:auto;z-index:2}}

/* Keep contact actions aligned at the bottom of directory cards with differing text lengths. */
.fd-related-grid .fd-directory-card{display:flex;flex-direction:column}
.fd-directory-card .fd-related-card__content{flex:1;display:flex;flex-direction:column}
.fd-directory-card .fd-contact-links--directory{margin-top:auto;padding-top:12px}

/* Directory cards: logo bridges photo/content; contacts share a bottom baseline. */
.fd-directory-card .fd-directory-photo{position:relative;overflow:visible}
.fd-directory-card .fd-directory-logo-slot{position:absolute;top:auto;bottom:-36px;right:16px;margin:0;transform:none;z-index:3}
.fd-directory-card .fd-related-card__content{min-height:200px;flex:1 1 auto;display:flex;flex-direction:column}
.fd-directory-card .fd-related-card__content h3{margin-right:80px}
.fd-directory-card .fd-contact-links--directory{margin-top:auto;padding-top:16px}
@media(max-width:760px){.fd-directory-card .fd-directory-logo-slot{bottom:-33px}}

/* One shared, sticky public header for home and shop. */
.fd-header{position:sticky;top:0;z-index:100}
.fd-header .appearance-toggle{width:30px;height:30px;min-width:30px;border-radius:8px;border:1px solid #ffffff44;background:transparent;color:#d9e9df;opacity:.82}
.fd-header .appearance-toggle:hover,.fd-header .appearance-toggle:focus-visible{opacity:1;background:#ffffff12}
.fd-header .appearance-toggle svg{width:16px;height:16px}
.fd-shop-cart-link{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:9px;border:1px solid #ffffff55;background:#fff;color:#173c2d;text-decoration:none}
.fd-shop-cart-link svg{width:19px;height:19px}
.fd-cart-count{position:absolute;right:-6px;top:-7px;min-width:17px;height:17px;padding:0 4px;border-radius:20px;background:#159653;color:#fff;font-size:10px;font-weight:800;text-align:center;line-height:17px}
.fd-footer-account{font-size:11px;font-weight:400;opacity:.5;text-decoration:none}
.fd-footer-account:hover{opacity:.85;text-decoration:underline}
@media(max-width:760px){.fd-header .fd-shop-cart-link{order:2}.fd-header .appearance-toggle{order:3;margin-left:0}}

/* Give the active-duty marker a little more prominence without overpowering the card. */
.fd-shift--current .fd-duty-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;font-size:11px;font-weight:800;letter-spacing:.035em;line-height:1;white-space:nowrap}
.fd-shift--current .fd-duty-label svg{width:15px;height:15px;flex:none}
@media(min-width:761px){.fd-shift--current .fd-duty-label{top:12px;right:14px;padding:8px 13px;font-size:11px}}

/* Compact duty cards on narrow screens only; desktop layout is unchanged. */
@media(max-width:760px){
  .fd-schedule .fd-shift .fd-shift__date{min-height:110px;padding:18px 14px}
  .fd-schedule .fd-shift__date time{gap:3px}
  .fd-schedule .fd-shift .fd-shift__date strong{font-size:29px}
  .fd-schedule .fd-shift .fd-shift__date span{font-size:11px}
  .fd-schedule .fd-shift .fd-shift__body{padding:17px 18px;gap:7px}
  .fd-schedule .fd-shift .fd-shift__body h3{font-size:18px;line-height:1.3}
  .fd-schedule .fd-shift .fd-shift__body p{font-size:12px;line-height:1.5}
  .fd-schedule .fd-shift .fd-duty-hours{font-size:11px}
  .fd-schedule .fd-shift--current .fd-contact-links--current a{min-height:38px;padding:7px 11px;font-size:12px}
  .fd-schedule__upcoming{gap:12px}
}

/* Mobile layout correction: logo left; menu and theme grouped at the right. */
@media(max-width:760px){
  .fd-header .fd-header__inner{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-height:56px;padding:8px 0}
  .fd-header .fd-brand{order:0;margin-right:auto}
  .fd-header .fd-navigation{display:none}
  .fd-header .fd-shop-cart-link{order:1;margin-left:0}
  .fd-header .appearance-toggle{order:2;margin:0;flex:0 0 32px;width:32px;height:32px}
  .fd-header .fd-mobile-menu{order:3;margin:0;flex:none}
  .fd-header .fd-mobile-menu>summary{width:34px;height:34px}
  .fd-schedule .fd-shift .fd-shift__date{min-height:86px;padding:12px}
  .fd-schedule .fd-shift__date time{gap:2px}
  .fd-schedule .fd-shift .fd-shift__date strong{font-size:27px}
  .fd-schedule .fd-shift .fd-shift__body{padding:14px 16px;gap:5px}
  .fd-schedule .fd-shift .fd-shift__body h3{font-size:17px}
  .fd-schedule .fd-shift .fd-shift__body p{font-size:12px}
  .fd-schedule .fd-shift--current .fd-duty-label{top:10px;right:10px}
  .fd-schedule .fd-shift--current .fd-shift__date{padding-top:38px;min-height:98px}
  .fd-schedule .fd-shift--current .fd-contact-links--current{margin-top:4px}
}

/* Keep the footer credit as one continuous sentence rather than a block link. */
.fd-footer .fd-footer__bottom a{display:inline;font-size:inherit;line-height:inherit;margin:0;color:inherit;text-decoration:underline;text-underline-offset:2px}

/* Addresses open directions, without assuming the visitor's location. */
.fd-site .fd-directions-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;font:inherit;margin:0;display:inline;overflow-wrap:anywhere}
.fd-site .fd-directions-link:hover{color:#168657}

/* Route action uses the exact same contact-button styling as telephone. */
.fd-schedule .fd-shift--current .fd-contact-links a.fd-route-action{
  position:static;inset:auto;z-index:auto;margin:0;
  display:inline-flex;align-items:center;gap:8px;
  background:#f6f8f7;border:1px solid #dce3df;color:#266343;
  border-radius:9px;text-decoration:none;font-weight:400;
}
.fd-schedule .fd-shift--current .fd-contact-links a.fd-route-action:hover{background:#e9f2ec}
@media(min-width:761px){
  .fd-schedule .fd-shift--current .fd-shift__body{padding-right:104px}
  .fd-schedule .fd-shift--current .fd-contact-links a.fd-route-action{min-height:38px;padding:7px 11px;font-size:12px}
}
@media(max-width:760px){
  .fd-schedule .fd-shift--current .fd-contact-links a.fd-route-action{min-height:38px;padding:7px 11px;font-size:12px}
}

/* Consistent 70px navigation and equal-size controls across viewports. */
.fd-header .fd-header__inner{height:70px;min-height:70px;padding-top:0;padding-bottom:0;gap:12px}
.fd-header .fd-shop-cart-link,
.fd-header .appearance-toggle,
.fd-header .fd-mobile-menu>summary,
.shop-page .fd-header .appearance-toggle,
.shop-page .fd-header .fd-shop-cart-link{
  box-sizing:border-box;width:38px;height:38px;min-width:38px;min-height:38px;
  flex:0 0 38px;border-radius:9px;padding:0;
}
.fd-header .fd-shop-cart-link svg{width:21px;height:21px}
.fd-header .appearance-toggle svg,
.shop-page .fd-header .appearance-toggle svg{width:19px;height:19px}
.fd-header .fd-mobile-menu>summary svg{width:22px;height:22px}
.fd-header .fd-navigation a{font-size:13px}
@media(max-width:760px){
  .fd-header .fd-header__inner{height:70px;min-height:70px;padding:0;gap:9px}
  .fd-header .fd-shop-cart-link,
  .fd-header .appearance-toggle,
  .fd-header .fd-mobile-menu>summary,
  .shop-page .fd-header .appearance-toggle,
  .shop-page .fd-header .fd-shop-cart-link{
    width:38px;height:38px;min-width:38px;min-height:38px;flex:0 0 38px;
  }
  .fd-header .fd-mobile-menu[open]>summary{top:16px}
}

/* Upcoming-duty cards: keep links functional without visual underline. */
.fd-schedule .fd-shift--upcoming .fd-directions-link,.fd-schedule .fd-shift--upcoming .fd-contact-links a,.fd-schedule .fd-shift--upcoming .fd-contact-links a:hover{ text-decoration:none; }
.fd-schedule .fd-shift--upcoming .fd-directions-link:hover,.fd-schedule .fd-shift--upcoming .fd-contact-links a:focus-visible{ text-decoration:underline; text-underline-offset:3px; }

/* Mobile current-duty card: balanced vertical whitespace, unchanged horizontal spacing. */
@media(max-width:760px){
  .fd-schedule .fd-shift--current .fd-shift__date{min-height:0;padding-top:30px;padding-bottom:30px}
  .fd-schedule .fd-shift--current .fd-shift__body{padding-top:20px;padding-bottom:20px}
}

/* Mobile pharmacy directory cards inset consistently from their grid. */
@media(max-width:760px){.fd-related-grid{padding-inline:16px}}

/* Pharmacy directory description: maximum three visible lines, no change to saved content. */
.fd-directory-card .fd-related-card__content p.fd-directory-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;white-space:normal}
/* Compact icon-only social/contact actions, exclusive to directory cards. */
.fd-directory-card .fd-contact-links--directory a.fd-icon-only-action{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;flex:0 0 40px}
.fd-directory-card .fd-contact-links--directory a.fd-icon-only-action svg{width:18px;height:18px}

/* Mobile directory: align with the page gutter and size cards to their content. */
@media(max-width:760px){
  .fd-related-grid{padding-inline:0;align-items:start}
  .fd-related-grid .fd-directory-card{height:auto;min-height:0;align-self:start}
  .fd-directory-card .fd-directory-photo{aspect-ratio:16/9}
  .fd-directory-card .fd-related-card__content{min-height:0;flex:0 0 auto}
  .fd-directory-card .fd-contact-links--directory{margin-top:0;padding-top:12px}
}

/* Mobile menu slides in from the left while remaining an opaque, focused navigation layer. */
@media(max-width:760px){
 .fd-mobile-menu .fd-mobile-menu__links{visibility:hidden;pointer-events:none;transform:translateX(-100%);opacity:0;transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .25s ease,visibility .32s}
 .fd-mobile-menu[open] .fd-mobile-menu__links{visibility:visible;pointer-events:auto;transform:translateX(0);opacity:1}
}
@media(prefers-reduced-motion:reduce){.fd-mobile-menu .fd-mobile-menu__links{transition:none}}

/* Mobile navigation as a right-side sheet: page stays visible behind it. */
@media(max-width:760px){
  .fd-header .fd-mobile-menu[open]::before{
    content:"";position:fixed;inset:0;background:rgba(5,20,14,.45);
    z-index:89;
  }
  .fd-header .fd-mobile-menu .fd-mobile-menu__links{
    position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(360px,calc(100vw - 44px));max-width:100%;
    padding:100px 24px 40px;
    border-radius:0;box-shadow:-16px 0 35px rgba(0,0,0,.22);
    transform:translateX(102%);opacity:1;
    transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility .32s;
  }
  .fd-header .fd-mobile-menu[open] .fd-mobile-menu__links{
    inset:0 0 0 auto;width:min(360px,calc(100vw - 44px));
    transform:translateX(0);opacity:1;
  }
  .fd-header .fd-mobile-menu[open]>summary{z-index:102;right:12px}
}
@media(prefers-reduced-motion:reduce){
  .fd-header .fd-mobile-menu .fd-mobile-menu__links{transition:none}
}

/* Compact WhatsApp icon after route and telephone in current duty card. */
.fd-schedule .fd-shift--current .fd-contact-links a.fd-icon-only-action{display:inline-flex;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;flex:0 0 38px}
.fd-schedule .fd-shift--current .fd-contact-links a.fd-icon-only-action svg{width:18px;height:18px}

/* Show optional uploaded logo within the existing overlay. */
.fd-directory-card .fd-directory-logo-slot{overflow:hidden}
.fd-directory-card .fd-directory-logo-slot img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}

/* Duty map and telephone are peer controls on all screen sizes. */
.fd-schedule .fd-shift--current .fd-contact-links--current a:not(.fd-icon-only-action){
  min-height:44px;
  padding:9px 13px;
  font-size:14px;
  font-weight:400;
  line-height:1.3;
  letter-spacing:normal;
  text-decoration:none;
}
@media(max-width:760px){
  .fd-schedule .fd-shift--current .fd-contact-links--current a:not(.fd-icon-only-action){
    min-height:38px;
    padding:7px 11px;
    font-size:12px;
  }
}

/* Desktop public navigation: readable, relaxed links. Mobile remains unchanged. */
@media(min-width:761px){
  .fd-header .fd-navigation{gap:30px}
  .fd-header .fd-navigation a{font-size:15px;font-weight:400}
}
/* The mobile sheet keeps its open state while sliding out. */
@media(max-width:760px){
  .fd-header .fd-mobile-menu.is-closing .fd-mobile-menu__links{
    transform:translateX(102%);visibility:visible;pointer-events:none;
  }
  .fd-header .fd-mobile-menu.is-closing::before{
    content:"";position:fixed;inset:0;background:rgba(5,20,14,.45);z-index:89;
    animation:drago-menu-backdrop-out .28s ease forwards;pointer-events:none;
  }
  .fd-header .fd-mobile-menu[open]:not(.is-closing) .fd-mobile-menu__links{
    animation:drago-menu-sheet-in .32s cubic-bezier(.2,.8,.2,1) both;
  }
  @keyframes drago-menu-sheet-in{from{transform:translateX(102%)}to{transform:translateX(0)}}
  @keyframes drago-menu-backdrop-out{to{background:transparent}}
}
@media(prefers-reduced-motion:reduce){
  .fd-header .fd-mobile-menu[open]:not(.is-closing) .fd-mobile-menu__links{animation:none}
  .fd-header .fd-mobile-menu.is-closing::before{animation:none}
}

/* Preserve 30px from the last desktop nav link to theme/cart control. */
@media(min-width:761px){
  .fd-header .fd-navigation ~ .appearance-toggle,
  .fd-header .fd-navigation ~ .fd-shop-cart-link{
    margin-left:18px;
  }
}

/* Closing sheet: do not leave the fixed overlay/close icon floating over header. */
@media(max-width:760px){
  .fd-header .fd-mobile-menu.is-closing::before{display:none}
  .fd-header .fd-mobile-menu.is-closing>summary{visibility:hidden;pointer-events:none}
}

/* Duty cards: desktop address readability and mobile vertical rhythm (2026-10-24). */
@media(min-width:761px){
  .fd-schedule .fd-shift .fd-shift__body p:has(.fd-directions-link),
  .fd-schedule .fd-shift .fd-directions-link{font-size:13px}
}
@media(max-width:760px){
  .fd-schedule .fd-shift .fd-shift__body{padding-top:20px;padding-bottom:20px}
  .fd-schedule .fd-shift .fd-shift__body h3{font-size:17px}
  .fd-schedule .fd-shift--upcoming .fd-shift__date{padding-top:20px;padding-bottom:20px}
}

/* Directory addresses: 13px on desktop only; leave mobile unchanged. */
@media(min-width:761px){
  .fd-directory-card .fd-related-card__content p{font-size:13px}
}

/* Pharmacy directory typography, mobile only (2026-10-24). */
@media(max-width:760px){
  .fd-directory-card .fd-related-card__content h3{font-size:16px}
  .fd-directory-card .fd-related-card__content p{font-size:12px}
}

/* Mobile navigation behaves as a modal sheet: no background scroll or control overlap. */
@media(max-width:760px){
 html.fd-menu-open,html.fd-menu-open body{overflow:hidden;overscroll-behavior:none}
 html.fd-menu-open .fd-header .appearance-toggle,
 html.fd-menu-open .fd-header .fd-shop-cart-link{visibility:hidden}
 html.fd-menu-open .fd-header .fd-mobile-menu{position:relative;z-index:102}
 html.fd-menu-open .fd-mobile-menu__links{overscroll-behavior:contain}
}

/* Simplified footer: no redundant four-column navigation or visible account link. */
.fd-footer .fd-footer__columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.7fr)}
.fd-footer .fd-footer__admin-entry{display:inline;color:inherit;font:inherit;text-decoration:none;opacity:1}
.fd-footer .fd-footer__admin-entry:hover,.fd-footer .fd-footer__admin-entry:focus-visible{text-decoration:none;color:inherit}
@media(max-width:530px){.fd-footer .fd-footer__columns{grid-template-columns:1fr 1fr}.fd-footer .fd-footer__identity{grid-column:1/-1}}

/* Equal visual spacing between top ads, duty schedule, and bottom ads. */
.fd-schedule{margin-bottom:24px}
.fd-schedule + .fd-section{margin-top:24px}
