/* di-shimendo page system — edit this file for site-specific styling. */
:root {
  --di-font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif;
  --di-ink: #26312d;
  --di-muted: #66716c;
  --di-paper: #fffef9;
  --di-line: #dbe3dd;
  --di-radius: 20px;
  --di-shadow: 0 14px 38px rgba(26, 48, 38, .10);
  --di-main: #175b43;
  --di-deep: #0e3d2d;
  --di-soft: #e7f1eb;
  --di-accent: #d5a83d;
  --di-rgb: 23,91,67;
}

.navbar-brand img {
    max-height: 2.5rem;
    max-width: 60%;
}
.di-colour-forest { --di-main:#175b43; --di-deep:#0e3d2d; --di-soft:#e7f1eb; --di-accent:#d5a83d; --di-rgb:23,91,67; }
.di-colour-sage { --di-main:#65856f; --di-deep:#405f4b; --di-soft:#edf3ee; --di-accent:#c49655; --di-rgb:101,133,111; }
.di-colour-navy { --di-main:#254b68; --di-deep:#17364d; --di-soft:#e8f0f5; --di-accent:#d6a640; --di-rgb:37,75,104; }
.di-colour-blue { --di-main:#287e9a; --di-deep:#185b72; --di-soft:#e6f4f7; --di-accent:#db9b3b; --di-rgb:40,126,154; }
.di-colour-terracotta { --di-main:#a9583f; --di-deep:#783b2c; --di-soft:#f8ece7; --di-accent:#667d48; --di-rgb:169,88,63; }
.di-colour-rose { --di-main:#a34f67; --di-deep:#743548; --di-soft:#f8eaf0; --di-accent:#b18d35; --di-rgb:163,79,103; }
.di-colour-plum { --di-main:#76527f; --di-deep:#53385b; --di-soft:#f1eaf3; --di-accent:#b0933d; --di-rgb:118,82,127; }

body { font-family:var(--di-font-family); }
button, input, select, textarea { font-family:inherit; }
.di-page { color:var(--di-ink); background:var(--di-paper); font-family:var(--di-font-family); line-height:1.9; overflow-x:clip; overflow-y:visible; }
.di-page-hero { position:relative; color:#fff; background:linear-gradient(135deg,var(--di-deep),var(--di-main)); }
.di-page-hero::after { content:""; position:absolute; right:-5rem; bottom:-8rem; width:24rem; aspect-ratio:1; border:1px solid rgba(255,255,255,.24); border-radius:50%; box-shadow:0 0 0 3rem rgba(255,255,255,.05),0 0 0 7rem rgba(255,255,255,.04); }
.di-page-hero__inner { position:relative; z-index:1; padding-top:clamp(4.5rem,9vw,8rem); padding-bottom:clamp(4rem,8vw,7rem); }
.di-page-hero__eyebrow { margin:0 0 .75rem; font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; opacity:.78; }
.di-page-hero__title { margin:0; max-width:14em; color:inherit; font-size:clamp(2rem,5vw,4rem); font-weight:700; letter-spacing:.06em; line-height:1.35; }
.di-page__content { padding-top:clamp(3.5rem,7vw,7rem); padding-bottom:clamp(4rem,8vw,8rem); }
.page-template-page-shimendo .di-page__content {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.page-template-page-shimendo #content.site-content {
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
body:not(.page-template-page-shimendo) .di-page__content > * { max-width:960px; margin-inline:auto; }
body:not(.page-template-page-shimendo) .di-page__content > .alignwide { max-width:1140px; }
body:not(.page-template-page-shimendo) .di-page__content > .alignfull { width:100vw; max-width:none; margin-left:calc(50% - 50vw); }

.di-page :where(h2,h3,h4) { color:var(--di-deep); font-weight:700; line-height:1.55; }
.di-page h2 { position:relative; margin-top:clamp(4rem,8vw,7rem); margin-bottom:2rem; padding-bottom:1rem; font-size:clamp(1.65rem,3vw,2.35rem); letter-spacing:.05em; text-align:center; }
.di-page h2::after { content:""; position:absolute; bottom:0; left:50%; width:4rem; height:3px; border-radius:9px; background:var(--di-main); transform:translateX(-50%); }
.di-page h3 { margin-top:2.5rem; padding-left:1rem; border-left:5px solid var(--di-main); font-size:clamp(1.25rem,2vw,1.6rem); }
.di-page a { color:var(--di-main); text-underline-offset:.2em; }
.di-page img { border-radius:var(--di-radius); }

.di-lead { max-width:760px!important; margin-bottom:clamp(3rem,6vw,5rem)!important; font-size:clamp(1.05rem,1.8vw,1.25rem); text-align:center; }
.di-section-soft { margin-top:clamp(4rem,8vw,7rem)!important; margin-bottom:clamp(4rem,8vw,7rem)!important; padding:clamp(2rem,5vw,4.5rem); border-radius:calc(var(--di-radius) * 1.4); background:var(--di-soft); }
.di-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:1.5rem; margin-block:2.5rem; }
.di-card { height:100%; padding:clamp(1.5rem,3vw,2.25rem); border:1px solid var(--di-line); border-top:5px solid var(--di-main); border-radius:var(--di-radius); background:#fff; box-shadow:var(--di-shadow); }
.di-card > :first-child { margin-top:0; }
.di-card > :last-child { margin-bottom:0; }
.di-card h3 { padding-left:0; border:0; }
.di-number { display:inline-grid; width:2.8rem; height:2.8rem; margin-bottom:1rem; place-items:center; border-radius:50%; color:#fff; background:var(--di-main); font-weight:700; }
.di-image-placeholder { display:grid; width:100%; min-height:240px; aspect-ratio:16/9; place-items:center; overflow:hidden; border:2px dashed rgba(var(--di-rgb),.4); border-radius:var(--di-radius); color:var(--di-main); background:linear-gradient(135deg,var(--di-soft),#fff); font-weight:700; letter-spacing:.08em; text-align:center; }
.di-image-placeholder::before { content:"IMAGE"; display:block; margin-bottom:.35rem; font-size:.72rem; letter-spacing:.2em; opacity:.6; }
.di-image-placeholder--portrait { min-height:360px; aspect-ratio:4/5; }
.di-image-placeholder--square { min-height:240px; aspect-ratio:1; }
.di-media { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:clamp(2rem,5vw,5rem); align-items:center; margin-block:clamp(3rem,7vw,6rem); }
.di-media--reverse > :first-child { order:2; }
.di-media--reverse > :last-child { order:1; }

.di-button, .di-page .wp-block-button__link { display:inline-flex; min-height:3.4rem; padding:.75rem 1.8rem; align-items:center; justify-content:center; gap:.6rem; border:2px solid var(--di-main); border-radius:999px; color:#fff; background:var(--di-main); box-shadow:0 8px 20px rgba(var(--di-rgb),.22); font-weight:700; text-decoration:none; transition:.2s ease; }
.di-button:hover, .di-page .wp-block-button__link:hover { color:var(--di-main); background:#fff; transform:translateY(-2px); }
.di-button--outline { color:var(--di-main); background:transparent; box-shadow:none; }
.di-note { padding:1.25rem 1.5rem; border-left:5px solid var(--di-accent); border-radius:0 12px 12px 0; background:#fff9e9; }
.di-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid var(--di-line); border-radius:14px; }
.di-table :where(th,td) { padding:.85rem 1rem; border-bottom:1px solid var(--di-line); }
.di-table th { width:30%; color:var(--di-deep); background:var(--di-soft); }
.di-table tr:last-child :where(th,td) { border-bottom:0; }

@media (max-width: 767.98px) {
  .di-page-hero__inner { padding-inline:1.25rem; }
  .di-page__content { padding-inline:1.25rem; }
  .di-section-soft { padding:1.5rem; border-radius:var(--di-radius); }
  .di-media { grid-template-columns:1fr; }
  .di-media--reverse > :first-child, .di-media--reverse > :last-child { order:initial; }
  .di-table, .di-table tbody, .di-table tr, .di-table th, .di-table td { display:block; width:100%; }
  .di-table th { border-bottom:0; }
}

@media (prefers-reduced-motion: reduce) {
  .di-page *, .di-page *::before, .di-page *::after { scroll-behavior:auto!important; transition:none!important; }
}

/* PDF sample layout ------------------------------------------------------ */
.di-pdf-page { --di-content:1120px; font-size:15px; }
.di-pdf-page :where(h2,h3) { margin-top:0; }
.di-pdf-inner { width:min(calc(100% - 40px),var(--di-content)); margin-inline:auto; }
.di-pdf-hero {
  position:relative;
  isolation:isolate;
  min-height:430px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background-color:var(--di-deep);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.di-pdf-hero::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  background:linear-gradient(
    90deg,
    rgba(var(--di-rgb),.98) 0%,
    rgba(var(--di-rgb),.90) 42%,
    rgba(var(--di-rgb),.48) 68%,
    rgba(var(--di-rgb),.16) 100%
  );
}
.di-pdf-hero__inner { position:relative; z-index:1; width:min(calc(100% - 40px),var(--di-content)); margin-inline:auto; padding-block:70px; }
.di-pdf-hero h1 { /*max-width:650px;*/ margin:0 0 18px; color:#fff; font-size:clamp(2.2rem,5vw,4rem); line-height:1.45; letter-spacing:.08em; }
.di-pdf-hero p { /*max-width:590px;*/ margin:0; font-weight:700; }
.di-pdf-hero .wp-block-buttons { margin-top:25px; }
.di-pdf-notice { padding:14px 20px; background:var(--di-soft); }
.di-pdf-notice__inner { width:min(100%,var(--di-content)); display:flex; gap:28px; align-items:center; margin:auto; }
.di-pdf-label { display:inline-block; min-width:130px; margin:0; padding:3px 18px; border-radius:999px; color:#fff; background:var(--di-main); font-weight:700; text-align:center; }
.di-pdf-info-grid { margin-top:32px!important; margin-bottom:60px!important; }
.di-pdf-info-card { height:100%; padding:20px 24px; border:1px solid #aeb7b2; background:#fff; box-shadow:3px 4px 6px rgba(0,0,0,.15); }
.di-pdf-info-card {
    align-items: flex-start;
    height: stretch;
}
.di-pdf-info-card h3 { margin:0 0 8px; padding:0; border:0; font-size:1.15rem; }
.di-pdf-info-card p { margin:0; }
.di-pdf-section { width:min(calc(100% - 40px),var(--di-content)); margin:0 auto; padding:55px 0; }
.di-pdf-section-title { margin:0 0 42px!important; font-size:clamp(1.6rem,3vw,2.1rem)!important; text-align:center; }
.di-pdf-services { border-top:1px solid #aaa; border-left:1px solid #aaa; }
.di-pdf-service { min-height:105px; display:flex; align-items:center; padding:18px; border-right:1px solid #aaa; border-bottom:1px solid #aaa; font-weight:700; }
.di-pdf-data { width:100%; border-collapse:collapse; }
.di-pdf-data :where(th,td) { padding:13px 18px; border:0; text-align:left; }
.di-pdf-data tr:nth-child(odd) { background:#f0f5f3; }
.di-pdf-data th { width:30%; font-weight:500; }
.di-pdf-facility { margin-top:30px; padding:30px 35px; border:1px solid #333; border-radius:20px; }
.di-pdf-facility h3 { margin:30px 0 12px; padding:0 0 8px; border:0; border-bottom:1px solid #333; font-size:1rem; }
.di-pdf-facility h3:first-child { margin-top:0; }
.di-pdf-tags { display:flex; flex-wrap:wrap; gap:6px 18px; }
.di-pdf-tags span { color:#fff; background:#137d12; font-weight:700; 
    padding-left: 1rem;
    padding-right: 1rem;}
.di-pdf-band { padding:55px 0; background:#f2f8f6; }
.di-pdf-access { margin-inline:auto!important; }
.di-pdf-access-card { height:100%; padding:35px; border-radius:20px; background:#fff; }
.di-pdf-route-grid { margin-top:45px!important; margin-inline:auto!important; }
.di-pdf-reservation { width:min(calc(100% - 40px),var(--di-content)); margin:auto; padding:65px 0; }
.di-pdf-flow { position:relative; margin-top:35px; padding:65px 30px 35px; border:2px solid var(--di-main); border-radius:12px; }
.di-pdf-flow__title { position:absolute; top:0; left:0; margin:0; padding:5px 18px; border-radius:9px 0 9px 0; color:#fff; background:var(--di-main); font-size:1.35rem; }
.di-pdf-step { text-align:center; }
.di-pdf-step strong { color:#aaa; font-size:1.8rem; font-weight:400; }
.di-pdf-footer-space { min-height:280px; background:#f2f8f6; border-bottom:120px solid var(--di-deep); }
.di-pdf-page .di-image-placeholder { min-height:220px; border:1px solid #777; border-radius:0; background:#e2e2e2; }
.di-pdf-page .di-image-placeholder--hero { min-height:340px; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.55); color:#fff; }
.di-pdf-page .di-image-placeholder--map { min-height:310px; }
.di-pdf-page .container.row { margin-right:auto; margin-left:auto; }
.page-template-page-shimendo #masthead { display:none!important; }
.di-store-subheader { top:0; z-index:1030; box-shadow:0 2px 10px rgba(0,0,0,.08); }
.admin-bar .di-store-subheader { top:32px; }
.di-store-subheader__logo-placeholder { min-width:min(320px,42vw); min-height:52px; display:flex; align-items:center; color:var(--di-deep); font-size:clamp(1.2rem,2.4vw,2rem); font-weight:900; }
.di-store-subheader__logo-placeholder p { margin:0; }
.di-store-subheader__logo-placeholder img { display:block; width:auto; max-width:min(320px,42vw); max-height:64px; object-fit:contain; }
.di-store-subheader__actions { flex-wrap:nowrap!important; }
.di-store-action .wp-block-button__link { min-width:180px; padding:.38rem 1rem; border:0; border-radius:3px; color:#fff!important; background:var(--di-deep); box-shadow:none; font-weight:700; line-height:1.15; }
.di-store-action .wp-block-button__link:hover { color:#fff!important; background:var(--di-main); transform:none; }
.di-store-subheader__menu { gap:.15rem 1.1rem; margin:0; padding-left:0; list-style:none; }
.di-store-subheader__menu li { margin:0; }
.di-store-subheader__menu a { display:block; padding:.4rem 0; color:var(--di-ink); font-weight:700; text-decoration:none; }
.di-store-subheader__menu a:hover { color:var(--di-main); }
.di-pdf-page :where(#store-top,#services,#about,#access,#prescription,#store-guide) { scroll-margin-top:150px; }

.button-border-white .wp-block-button__link{ border-color: white;}
.di-colour-blue .green_to_blue img{
    filter: hue-rotate(77deg);
}
.phar-logo img , .border_radius_none{
  border-radius: 0;
  max-height: 2.5rem;
}

.no-service {
    opacity: 0.2;
    text-decoration: line-through;
}
.di-colour-plum .green_to_purple img{
    filter:  hue-rotate(177deg);
}
.di-colour-plum .di-pdf-tags span {
    background: #76527f;
}
@media (max-width: 767.98px) {
  .di-pdf-hero { min-height:360px; }
  .di-pdf-notice__inner { align-items:flex-start; flex-direction:column; gap:8px; }
  .di-pdf-facility { padding:22px 18px; }
  .admin-bar .di-store-subheader { top:46px; }
  .di-store-subheader__logo-placeholder { min-width:0; }
  .di-store-subheader__actions { gap:.35rem!important; }
  .di-store-action .wp-block-button__link { min-width:auto; padding:.45rem .6rem; font-size:.72rem; }
  .di-store-subheader__menu { column-gap:.8rem; font-size:.78rem; }
}

/* Pharmacy links for the corporate top page ----------------------------- */
.di-pharmacy-links { padding-block:clamp(48px,7vw,96px); }
.di-pharmacy-links__row { row-gap:1.5rem; }
.di-pharmacy-card { height:100%; overflow:hidden; border:1px solid var(--di-line); border-radius:var(--di-radius); background:#fff; box-shadow:var(--di-shadow); }
.di-pharmacy-card__image { min-height:230px; aspect-ratio:4/3;flex:1; display:grid; place-items:center; margin:0; overflow:hidden; border:0; border-radius:0; color:var(--di-main); background:var(--di-soft); font-weight:700; text-align:center; }
.di-pharmacy-card__image img { width:100%; height:100%; aspect-ratio:4/3;
    object-fit: cover; }
.di-pharmacy-card__body { padding:clamp(20px,3vw,32px); flex:1;}
.di-pharmacy-card__body h2,
.di-pharmacy-card__body h3 { margin:0 0 20px; padding:0; border:0; color:var(--di-deep); font-size:clamp(1.25rem,2vw,1.6rem); text-align:left; }
.di-pharmacy-card__body h2::after,
.di-pharmacy-card__body h3::after { display:none; }
.di-pharmacy-card__link { margin:0; }
.di-pharmacy-card__link a { display:flex; min-height:48px; padding:.65rem 1.1rem; align-items:center; justify-content:space-between; border:2px solid var(--di-main); border-radius:999px; color:var(--di-main); font-weight:700; text-decoration:none; }
.di-pharmacy-card__link a::after { content:"›"; font-size:1.5em; line-height:1; }
.di-pharmacy-card__link a:hover { color:#fff; background:var(--di-main); }
