/* Ramadany theme components.
   Colors come from theme.json presets; dark mode redefines the presets, so core blocks follow too.
   Layout: phone-first single column, opening to grids at 600px and 960px. */
:root{
  --mist:var(--wp--preset--color--mist);
  --panel:var(--wp--preset--color--panel);
  --sand:var(--wp--preset--color--sand);
  --ink:var(--wp--preset--color--ink);
  --ink-2:var(--wp--preset--color--ink-2);
  --rule:var(--wp--preset--color--rule);
  --teal:var(--wp--preset--color--teal);
  --teal-wash:var(--wp--preset--color--teal-wash);
  --night:var(--wp--preset--color--night);
  --brass:var(--wp--preset--color--brass);
  --brass-text:var(--wp--preset--color--brass-text);
  --teal-2:#0a6a84; --night-ink:#e9f2f3; --night-ink-2:#a9c6cd; --brass-ink:#2a1a02;
  --ok:#1f6b4a; --ok-wash:#e2f2ea; --on-teal:#ffffff; --deep:#044e63; --ad:#c9d6d9;
  --control:#748c93; /* form-control borders: 3:1 against panel, mist and sand */
  --focus:var(--teal);
  --display:var(--wp--preset--font-family--display);
  --body:var(--wp--preset--font-family--body);
  --mono:var(--wp--preset--font-family--mono);
  --arabic:var(--wp--preset--font-family--arabic);
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px; --s7:48px; --s8:72px;
  --r-sm:6px; --r-md:10px; --r-lg:16px;
  --measure:40rem; --max:76rem;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]), :root:not([data-theme="light"]) body{
    --wp--preset--color--mist:#0b1c22; --wp--preset--color--panel:#10262e; --wp--preset--color--sand:#2b2416;
    --wp--preset--color--ink:#e5eef0; --wp--preset--color--ink-2:#9db5bc; --wp--preset--color--rule:#23404a;
    --wp--preset--color--teal:#74c4d7; --wp--preset--color--teal-wash:#143540; --wp--preset--color--night:#071a20;
    --wp--preset--color--brass:#e8b862; --wp--preset--color--brass-text:#e8b862;
    --teal-2:#8fd3e3; --night-ink-2:#9fbcc3; --brass-ink:#241602; --ok:#7fd3a8; --ok-wash:#15302a; --on-teal:#06222b; --deep:#0d4555; --ad:#2b4650; --control:#5f7f89; --focus:var(--wp--preset--color--brass);
    color-scheme:dark;
  }
}
:root[data-theme="dark"], :root[data-theme="dark"] body{
  --wp--preset--color--mist:#0b1c22; --wp--preset--color--panel:#10262e; --wp--preset--color--sand:#2b2416;
  --wp--preset--color--ink:#e5eef0; --wp--preset--color--ink-2:#9db5bc; --wp--preset--color--rule:#23404a;
  --wp--preset--color--teal:#74c4d7; --wp--preset--color--teal-wash:#143540; --wp--preset--color--night:#071a20;
  --wp--preset--color--brass:#e8b862; --wp--preset--color--brass-text:#e8b862;
  --teal-2:#8fd3e3; --night-ink-2:#9fbcc3; --brass-ink:#241602; --ok:#7fd3a8; --ok-wash:#15302a; --on-teal:#06222b; --deep:#0d4555; --ad:#2b4650; --control:#5f7f89; --focus:var(--wp--preset--color--brass);
  color-scheme:dark;
}

body{-webkit-font-smoothing:antialiased}
[class*="rmd-"],[class*="rmd-"] *,[class*="rmd-"] *::before,[class*="rmd-"] *::after{box-sizing:border-box}
img{max-width:100%;height:auto}
:where(h1,h2,h3,h4){text-wrap:balance}
html{scroll-padding-top:120px}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:3px}
/* Dark surfaces keep the brass ring. */
.rmd-hero,.rmd-ribbon,.rmd-footer,.has-night-background-color,.has-deep-background-color,.rmd-cal .tcard.main{--focus:var(--brass)}
.ar{font-family:var(--arabic);direction:rtl;unicode-bidi:isolate}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rmd-wrap{max-width:var(--max);margin-inline:auto}
.eyebrow,.is-style-eyebrow{font:500 .75rem/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.muted{color:var(--ink-2)}
.small{font-size:.9rem}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.stack{display:grid;gap:var(--s4)}
.row{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}

/* buttons used inside theme blocks */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.7rem 1.15rem;border-radius:var(--r-sm);border:1px solid transparent;font:600 .98rem/1.1 var(--body);text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.btn-primary{background:var(--brass);color:var(--brass-ink)}
.btn-primary:hover{background:#efc77f;background:color-mix(in srgb,var(--brass) 82%,#fff);color:var(--brass-ink)}
.btn-teal{background:var(--teal);color:var(--on-teal)}
.btn-teal:hover{background:var(--teal-2);color:var(--on-teal)}
.btn-ghost{border-color:var(--rule);color:var(--ink);background:transparent}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.btn-on-night{border-color:rgba(233,242,243,.45);color:var(--night-ink);background:transparent}
.btn-on-night:hover{border-color:var(--brass);color:var(--brass)}
.btn-sm{min-height:36px;padding:.45rem .8rem;font-size:.88rem}
.link-arrow{font-weight:600;text-decoration:none}
.link-arrow::after{content:" →"}
/* core button variants */
.wp-block-button.is-style-teal .wp-block-button__link{background:var(--teal);color:var(--on-teal)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ink);border:1px solid var(--rule)}

.chip{display:inline-flex;align-items:center;font:500 .72rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:.38rem .55rem;border-radius:4px;background:var(--teal-wash);color:var(--teal);white-space:nowrap}
.chip-brass{background:var(--sand);color:var(--brass-text)}

/* ===== header ===== */
.rmd-header{background:var(--panel);border-bottom:1px solid var(--rule);position:sticky;top:env(safe-area-inset-top,0px);z-index:30}
.admin-bar .rmd-header{top:calc(32px + env(safe-area-inset-top,0px))}
@media (max-width:782px){.admin-bar .rmd-header{top:0;position:relative}}
.rmd-header .rmd-head-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);min-height:64px}
.rmd-header .wp-block-navigation{font:500 .95rem/1 var(--body)}
.rmd-header .wp-block-navigation a{text-decoration:none}
.rmd-header .wp-block-navigation .current-menu-item > a{color:var(--teal);box-shadow:0 2px 0 var(--teal)}
.rmd-header-nav{border-top:1px solid var(--rule)}
.rmd-header-nav .wp-block-navigation__container{gap:var(--s5)}
.rmd-header-nav .wp-block-navigation-item__content{padding-block:.75rem}
.rmd-logo img{width:132px;height:auto;display:block}
:root[data-theme="dark"] .rmd-logo img{filter:invert(1) brightness(1.1)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .rmd-logo img{filter:invert(1) brightness(1.1)}}
.rmd-hijri-date{font:500 .78rem/1.2 var(--mono);color:var(--ink-2);letter-spacing:.03em;text-align:center}
.rmd-hijri-date b{color:var(--brass-text);font-weight:500}
@media (max-width:860px){.rmd-header .rmd-hijri-date{display:none}}

/* ===== season ribbon ===== */
.rmd-ribbon{background:var(--deep);color:#fff}
.rmd-ribbon[hidden]{display:none}
.rmd-ribbon .rmd-wrap{display:flex;gap:var(--s4);align-items:center;justify-content:space-between;min-height:40px;font:500 .82rem/1.3 var(--mono);flex-wrap:wrap;padding-block:6px;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
.rmd-ribbon a{color:var(--brass);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.rmd-ribbon a:hover{color:#fff}

/* ===== season hero: night ground with the lantern photo faded in on the right ===== */
.rmd-hero{--h-bg:var(--night);background:var(--h-bg);color:var(--night-ink);position:relative;overflow:hidden;isolation:isolate;margin-block:0}
.rmd-hero::before{content:"";position:absolute;inset:0 0 0 36%;z-index:-2;background:var(--hero-img) 70% 46%/cover no-repeat;opacity:.34;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%)}
.rmd-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--h-bg) 0%,var(--h-bg) 46%,rgba(6,48,61,.55) 66%,rgba(6,48,61,.25) 100%);background:linear-gradient(90deg,var(--h-bg) 0%,var(--h-bg) 46%,color-mix(in srgb,var(--h-bg) 55%,transparent) 66%,color-mix(in srgb,var(--h-bg) 25%,transparent) 100%)}
.rmd-hero .rmd-wrap{padding-block:clamp(3rem,8vw,6rem);padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));display:grid;grid-template-columns:minmax(0,40rem)}
.rmd-hero .hero-copy{display:grid;gap:var(--s5)}
.rmd-hero h1{color:#fff;margin:0;font-size:var(--wp--preset--font-size--huge)}
.rmd-hero .lede{font-size:1.15rem;color:var(--night-ink-2);max-width:34rem;margin:0}
.rmd-hero .eyebrow{color:var(--brass)}
.rmd-hero .sub{font:500 .82rem/1.5 var(--mono);color:var(--night-ink-2);margin:0}
.rmd-hero .hero-top{display:flex;align-items:center;gap:var(--s3)}
.rmd-hero .moon-mark{width:30px;height:30px;flex:none}
.rmd-hero .count{display:flex;gap:var(--s5)}
.rmd-hero .count div{display:grid;gap:4px}
.rmd-hero .count b{font:400 clamp(2.2rem,5vw,3.2rem)/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.rmd-hero .count span{font:500 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--night-ink-2)}
@media (max-width:860px){
  .rmd-hero::before{inset:0 0 0 30%;background-image:var(--hero-img-sm,var(--hero-img));background-position:62% 40%;opacity:.2}
  .rmd-hero::after{background:linear-gradient(90deg,var(--h-bg) 0%,rgba(6,48,61,.85) 55%,rgba(6,48,61,.5) 100%);background:linear-gradient(90deg,var(--h-bg) 0%,color-mix(in srgb,var(--h-bg) 85%,transparent) 55%,color-mix(in srgb,var(--h-bg) 50%,transparent) 100%)}
}

/* ===== cards (tools grid, generic) ===== */
.rmd-card,.is-style-rmd-card{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s5)}
.rmd-tool-card{display:grid;gap:var(--s2);align-content:start;text-decoration:none;color:inherit;height:100%;transition:border-color .15s,transform .15s}
a.rmd-tool-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.rmd-tool-card .ico{width:44px;height:44px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--teal-wash);color:var(--teal);margin-bottom:var(--s2)}
.rmd-tool-card .ico svg{width:24px;height:24px}
.rmd-tool-card h3{font-size:1.15rem;margin:0}
.rmd-tool-card p{color:var(--ink-2);font-size:.95rem;margin:0}
.rmd-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s4)}
@media (max-width:960px){.rmd-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rmd-tools{grid-template-columns:1fr}}

/* ===== dua ===== */
.rmd-dua{background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-md);padding:clamp(1.25rem,3vw,2rem);display:grid;gap:var(--s4);margin:0}
.rmd-dua .label{font:500 .75rem/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--brass-text)}
.rmd-dua .arabic{font-family:var(--arabic);direction:rtl;text-align:right;font-size:clamp(1.6rem,4vw,2.15rem);line-height:2;color:var(--ink);margin:0}
.rmd-dua .translit{font-style:italic;margin:0}
.rmd-dua .meaning{color:var(--ink-2);margin:0}
.rmd-dua .source{font:500 .8rem/1.4 var(--mono);color:var(--teal)}
.rmd-dua .tools{display:flex;gap:var(--s2);flex-wrap:wrap}
.rmd-dua-day{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s6);align-items:center}
.rmd-dua-day .intro{display:grid;gap:var(--s3)}
.rmd-dua-day h2{margin:0}
@media (max-width:860px){.rmd-dua-day{grid-template-columns:1fr}}

/* ===== signup ===== */
.rmd-signup{background:var(--sand);border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.75rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.25rem,4vw,3rem);align-items:center}
.rmd-signup h2{margin:0}
.rmd-signup form{display:grid;gap:var(--s3);max-width:28rem}
.rmd-signup .eyebrow{color:var(--brass-text)}
.field{display:grid;gap:6px}
.field label{font:500 .85rem/1.2 var(--body)}
.input,select.input{min-height:48px;width:100%;padding:.7rem .85rem;border:1px solid var(--control);border-radius:var(--r-sm);background:var(--panel);color:var(--ink);font:inherit}
.input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-wash)}
.form-hint{font-size:.82rem;color:var(--ink-2);margin:0}
.planner-cover{aspect-ratio:3/4;width:14rem;max-width:100%;border-radius:6px;background:var(--night);color:var(--night-ink);padding:1.4rem 1.2rem;display:grid;align-content:space-between;box-shadow:0 22px 40px -22px rgba(4,40,52,.6),6px 6px 0 -1px var(--panel),6px 6px 0 0 var(--rule),12px 12px 0 -1px var(--panel),12px 12px 0 0 var(--rule)}
.planner-cover .t{font:400 1.5rem/1.1 var(--display);color:#fff}
.planner-cover .y{font:500 .72rem/1.3 var(--mono);color:var(--brass);letter-spacing:.08em;text-transform:uppercase}
.planner-cover .ar{font-size:1.9rem;color:var(--brass);text-align:right}
@media (max-width:760px){.rmd-signup{grid-template-columns:1fr}.planner-cover{width:11rem}}

/* ===== year strip ===== */
.rmd-year-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(13rem,1fr);gap:var(--s3);overflow-x:auto;padding-bottom:var(--s2);scroll-snap-type:x mandatory}
.rmd-occasion{scroll-snap-align:start;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r-md);padding:var(--s4);display:grid;gap:6px;align-content:start;text-decoration:none;color:inherit}
.rmd-occasion:hover{border-color:var(--teal)}
.rmd-occasion .when{font:500 .78rem/1.3 var(--mono);color:var(--ink-2)}
.rmd-occasion .in{font:500 .78rem/1 var(--mono);color:var(--brass-text)}
.rmd-occasion h3{font-size:1.1rem;margin:0}
.rmd-occasion.next{border-color:var(--teal);box-shadow:inset 0 3px 0 var(--teal)}

/* ===== band (organizations) ===== */
.rmd-band,.is-style-rmd-band{background:var(--deep)!important;color:#fff;border-radius:var(--r-lg)}
.rmd-band :where(h2,h3,p){color:#fff}
.rmd-band .eyebrow{color:var(--brass)}
.rmd-band p{color:#d4e7eb}

/* ===== post cards (core query) ===== */
.rmd-post-card .wp-block-post-featured-image{aspect-ratio:16/10;border-radius:var(--r-md);overflow:hidden;margin:0}
.rmd-post-card .wp-block-post-featured-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rmd-post-card:hover .wp-block-post-featured-image img{transform:scale(1.03)}
.rmd-post-card .wp-block-post-title{font-size:1.2rem;margin:0}
.rmd-post-card .wp-block-post-title a{text-decoration:none;color:var(--ink)}
.rmd-post-card .wp-block-post-title a:hover{color:var(--teal)}
.rmd-post-card .wp-block-post-excerpt{color:var(--ink-2);font-size:.95rem}

/* ===== article ===== */
.rmd-article .wp-block-post-content > *{max-width:var(--measure)}
.rmd-callout,.is-style-rmd-callout{border-radius:var(--r-md);background:var(--teal-wash);padding:var(--s4) var(--s5)}
.rmd-crumbs{font:500 .78rem/1.3 var(--mono);color:var(--ink-2)}
.rmd-crumbs a{color:var(--ink-2);text-decoration:none}

/* ===== ad slot: invisible on the live site unless ads fill it; outlined in the editor ===== */
.rmd-ad-slot{min-height:0}
.rmd-ad-slot:empty{display:none}
.editor-styles-wrapper .rmd-ad-slot,.rmd-ad-slot.is-debug{display:grid!important;place-items:center;min-height:110px;border:1px dashed var(--ad);border-radius:var(--r-sm);font:500 .72rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}

/* ===== tables (calendar) ===== */
.rmd-tbl{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-md);background:var(--panel)}
table.rmd-times{width:100%;border-collapse:collapse;min-width:36rem;font-size:.95rem}
.rmd-times th,.rmd-times td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--rule);white-space:nowrap}
.rmd-times th{font:500 .72rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);background:var(--mist)}
.rmd-times td.t{font-family:var(--mono);font-variant-numeric:tabular-nums}
.rmd-times tr.today td{background:var(--sand)}
.rmd-times tr.odd-night td:first-child::after{content:"★";color:var(--brass-text);margin-left:.4em;font-size:.8em}
.rmd-times tr.last10 td:first-child{box-shadow:inset 3px 0 0 var(--brass)}
.rmd-times tr:last-child td{border-bottom:0}

/* ===== footer ===== */
.rmd-footer{background:var(--night);color:var(--night-ink-2)}
.rmd-footer :where(p,li){color:var(--night-ink-2)}
.rmd-footer a{color:var(--night-ink);text-decoration:none}
.rmd-footer a:hover{color:var(--brass)}
.rmd-footer h4,.rmd-footer .wp-block-heading{font:500 .75rem/1.3 var(--mono)!important;letter-spacing:.09em;text-transform:uppercase;color:var(--brass)!important}
.rmd-footer .rmd-logo img{filter:invert(1) brightness(1.15)}
.rmd-footer .wp-block-navigation{font-size:.98rem}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* header layout details */
.rmd-head-top > .wp-block-group{min-height:64px;width:100%}
.rmd-head-top .rmd-hijri-date{flex:1}
.rmd-header .wp-block-search__button{background:transparent;color:var(--ink);border:0;padding:8px}
.rmd-header .wp-block-search__button svg{width:22px;height:22px;fill:currentColor}
/* Phone and tablet header, up to 860px: logo, search and cart in the top row, and the links
   in a full-screen menu. WordPress core switches at 600px, which left the full menu wrapping
   between 600 and 860px, so the switch is moved here. */
.rmd-menu-top,.rmd-menu-foot{display:none}
@media (max-width:860px){
  .rmd-header{position:sticky}
  /* The menu button sits at the right end of the top row; the row keeps room for it so the
     search and cart buttons stay fully tappable. */
  .rmd-head-top > .wp-block-group{padding-right:52px}
  .rmd-header-nav{position:absolute;top:10px;right:max(1px,env(safe-area-inset-right,0px));border-top:0;padding:0!important}
  .rmd-header-nav .wp-block-navigation__responsive-container-open{padding:9px}
  .rmd-header-nav .wp-block-navigation__responsive-container-open svg{width:26px;height:26px}
  .rmd-header-nav .wp-block-navigation__responsive-container-open:not(.always-shown){display:flex}
  .rmd-header-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){display:none}
  .rmd-header-nav .wp-block-navigation__responsive-container-close:not(.always-shown){display:flex}
  /* The open menu */
  .rmd-header-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--panel);color:var(--ink);padding:max(12px,env(safe-area-inset-top,0px)) max(20px,env(safe-area-inset-right,0px)) 2rem max(20px,env(safe-area-inset-left,0px))}
  .rmd-header-nav .is-menu-open .wp-block-navigation__responsive-container-content{padding-top:0!important;align-items:stretch;gap:0}
  .rmd-header-nav .is-menu-open .wp-block-navigation__responsive-dialog{margin-top:0}
  .rmd-header-nav .wp-block-navigation__responsive-container-close{padding:9px;top:10px;right:max(4px,env(safe-area-inset-right,0px))}
  .rmd-header-nav .wp-block-navigation__responsive-container-close svg{width:26px;height:26px}
  .rmd-header-nav .is-menu-open .rmd-menu-top{display:flex;flex-direction:column;gap:1rem;width:100%;margin-bottom:1rem}
  .rmd-header-nav .is-menu-open .rmd-menu-top .rmd-logo{display:flex;align-items:center;min-height:44px;padding-right:56px}
  .rmd-header-nav .is-menu-open .rmd-menu-top .rmd-logo img{height:34px;width:auto}
  .rmd-menu-search{display:flex;gap:.5rem;width:100%}
  .rmd-menu-search input{flex:1;min-width:0;min-height:48px;padding:0 .9rem;border:1px solid var(--rule);border-radius:var(--r-sm);font:400 1rem/1.2 var(--body);background:var(--panel);color:var(--ink)}
  .rmd-menu-search button{min-height:48px;padding:0 1.1rem;border:0;border-radius:var(--r-sm);background:var(--teal);color:#fff;font:600 1rem/1 var(--body);cursor:pointer}
  .rmd-header-nav .is-menu-open .wp-block-navigation__container{gap:0;width:100%;align-items:stretch}
  .rmd-header-nav .is-menu-open .wp-block-navigation-item{width:100%;border-bottom:1px solid var(--rule)}
  .rmd-header-nav .is-menu-open .wp-block-navigation-item:first-child{border-top:1px solid var(--rule)}
  /* Rows at least 44px tall, with clear space between the words and the divider lines. */
  .rmd-header-nav .is-menu-open .wp-block-navigation-item__content{display:flex;align-items:center;width:100%;min-height:56px;padding-block:.9rem;font:400 1.35rem/1.3 var(--display);color:var(--ink)}
  .rmd-header-nav .is-menu-open .current-menu-item > a{box-shadow:none;color:var(--teal)}
  .rmd-header-nav .is-menu-open .rmd-menu-foot{display:flex;width:100%;margin-top:1rem}
  .rmd-menu-cart{display:inline-flex;align-items:center;gap:.6rem;min-height:48px;padding:0 1.1rem;border:1px solid var(--rule);border-radius:var(--r-sm);font:600 1rem/1 var(--body);color:var(--ink);text-decoration:none}
  .rmd-menu-cart .rmdd-count[hidden]{display:none}
  .rmd-menu-cart .rmdd-count{position:static;min-width:1.5em;height:1.5em;border-radius:999px;background:var(--brass);color:var(--night);font-size:.8rem;display:inline-flex;align-items:center;justify-content:center}
  /* The links fill the full width at tablet sizes too. */
  .rmd-header-nav .is-menu-open .wp-block-navigation__responsive-dialog{max-width:40rem;margin-inline:auto;width:100%}
}
.rmd-section{padding-block:clamp(2.75rem,6vw,4.5rem)}
.rmd-section + .rmd-section{border-top:1px solid var(--rule)}
.rmd-sec-head{display:flex;justify-content:space-between;align-items:end;gap:var(--s4);flex-wrap:wrap}

/* ===== occasion dates ===== */
.rmd-hdates{display:grid;gap:var(--s3)}
.rmd-hdates-next{font:400 1.35rem/1.35 var(--display);margin:0;text-wrap:balance}
.rmd-hdates table.rmd-times{min-width:0}
.rmd-hdates .rmd-times th,.rmd-hdates .rmd-times td{white-space:normal}

/* ===== content pages ===== */
.wp-block-post-content > p.lede{font-size:1.18rem;line-height:1.6;color:var(--ink)}
.rmd-link-cards{gap:var(--s4)}
.rmd-link-cards > .rmd-card{display:grid;gap:var(--s2);align-content:start}
.rmd-link-cards h3{font-size:1.15rem;margin:0}
.rmd-link-cards h3 a{text-decoration:none}
.rmd-link-cards h3 a::after{content:" →"}
.rmd-link-cards p{margin:0;color:var(--ink-2);font-size:.95rem}
.wp-block-post-content p.link-arrow a{font-weight:600;text-decoration:none}
.wp-block-post-content p.link-arrow a::after{content:" →"}
.wp-block-post-content p.link-arrow::after{content:none}
.wp-block-details{border-bottom:1px solid var(--rule);padding-block:var(--s3)}
.wp-block-details summary{cursor:pointer;font-weight:600}
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table th,.wp-block-table td{border:0;border-bottom:1px solid var(--rule);padding:.6rem .75rem;text-align:left;vertical-align:top}
.wp-block-table th{font:500 .72rem/1.2 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2)}
.rmd-aff-note{font-size:.85rem;color:var(--ink-2);border-left:3px solid var(--brass);padding:.35rem 0 .35rem .8rem;margin-block:0 var(--s5)}
.rmd-aff-note a{color:inherit}
.rmd-legacy:empty{display:none}
.rmd-legacy img{border-radius:var(--r-md)}

/* Pagination links are full-size tap targets (WCAG 2.5.8). */
.wp-block-query-pagination{gap:var(--s2)}
.wp-block-query-pagination-numbers{display:flex;flex-wrap:wrap;gap:6px}
.wp-block-query-pagination .page-numbers,.wp-block-query-pagination-previous,.wp-block-query-pagination-next{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--r-sm,6px)}
.wp-block-query-pagination .page-numbers.current{background:var(--teal);color:#fff}
/* Body text on cards and excerpts at full reading size. */
.rmd-card > p,.wp-block-post-excerpt__excerpt{font-size:1rem}

/* Product grids inside the narrow page column: no squeezed cards. */
@media (min-width:721px){
.wp-block-post-content .rmdd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wp-block-post-content .rmdd-grid:has(> :nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Wider reading column on posts and standard pages. */
.rmd-article,body.page-template-default:not(.home) main.rmd-section{--measure:50rem}
.rmd-article > :not(.alignwide):not(.alignfull),
body.page-template-default:not(.home) main.rmd-section > :not(.alignwide):not(.alignfull),
body.page-template-default:not(.home) main.rmd-section .wp-block-post-content > :not(.alignwide):not(.alignfull){max-width:var(--measure)}

/* Gifts page on the wide layout: four products across, ideas one per row. */
@media (min-width:1001px){
.page-template-page-wide .wp-block-post-content .rmdd-grid:has(> :nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
}
.rmd-ideas{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6)}
.rmd-ideas > *{margin-block:0}
.rmd-ideas h3{margin-top:0}
.rmd-ideas ul{margin-bottom:0}

/* More room around dua cards. */
.wp-block-post-content > .rmd-dua{margin-top:var(--s5);margin-bottom:var(--s5)}
.wp-block-post-content > .rmd-dua + h2{margin-top:var(--s7)}
.wp-block-post-content > .rmd-dua + p.link-arrow{margin-top:var(--s4);margin-bottom:var(--s6)}
