/* ==========================================================================
   Dr Yahaya Hamza Mosque — theme styles
   Colours and fonts come from theme.json (var(--wp--preset--…)).
   ========================================================================== */

:root {
	--dyh-green: var(--wp--preset--color--green, #076536);
	--dyh-deep: var(--wp--preset--color--green-deep, #0D3B24);
	--dyh-tint: var(--wp--preset--color--green-tint, #E8F1EB);
	--dyh-gold: var(--wp--preset--color--gold, #C09435);
	--dyh-gold-l: var(--wp--preset--color--gold-light, #E3C27A);
	--dyh-gold-t: var(--wp--preset--color--gold-text, #8A6420);
	--dyh-gold-tint: var(--wp--preset--color--gold-tint, #FFF8E6);
	--dyh-cream: var(--wp--preset--color--cream, #FAF8F2);
	--dyh-ink: var(--wp--preset--color--ink, #17211B);
	--dyh-muted: var(--wp--preset--color--muted, #5A645D);
	--dyh-line: var(--wp--preset--color--line, #E6E1D3);
	--dyh-r: 18px;
	--dyh-geo: url("../images/geo.svg");
	--dyh-head: var(--wp--preset--font-family--heading, Merriweather, Georgia, serif);
	--dyh-ar: var(--wp--preset--font-family--arabic, Amiri, serif);
}

/* ---------- Utilities ---------- */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.dyh-eyebrow { display: block; margin: 0; font-size: 0.75rem !important; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dyh-gold-t); }
.dyh-arabic, [lang="ar"] { font-family: var(--dyh-ar); }
.dyh-arabic { font-size: 1.9rem; line-height: 1.2; color: var(--dyh-gold-t); }
.dyh-empty { padding: 1.25rem 1.5rem; border: 1px dashed var(--dyh-line); border-radius: var(--dyh-r); color: var(--dyh-muted); background: #fff; margin: 0; }
.dyh-todo { color: #A12A1D; font-style: normal; font-size: .85em; }
.dyh-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.is-style-dyh-geo .dyh-eyebrow, .has-green-background-color .dyh-eyebrow, .has-green-deep-background-color .dyh-eyebrow, .wp-block-cover .dyh-eyebrow, .dyh-on-dark .dyh-eyebrow { color: var(--dyh-gold-l); }
.is-style-dyh-geo .dyh-arabic, .wp-block-cover .dyh-arabic, .has-green-deep-background-color .dyh-arabic { color: var(--dyh-gold-l); }
img { max-width: 100%; height: auto; }

/* ---------- Group styles ---------- */
.wp-block-group.is-style-dyh-card { background: #fff; border: 1px solid var(--dyh-line); border-radius: 20px; padding: clamp(1.25rem, 3vw, 2rem); }
.wp-block-group.is-style-dyh-geo { background-color: var(--dyh-green); background-image: var(--dyh-geo); background-size: 72px 72px; color: #fff; }
.wp-block-group.is-style-dyh-geo.has-green-deep-background-color { background-color: var(--dyh-deep); }
.is-style-dyh-geo :where(h1, h2, h3, h4, h5, h6) { color: #fff; }
.is-style-dyh-geo p { color: #D7E5DC; }
.is-style-dyh-geo a:where(:not(.wp-element-button)) { color: var(--dyh-gold-l); }
.dyh-rounded { border-radius: 26px; overflow: hidden; }
.dyh-tile { background: #fff; border: 1px solid var(--dyh-line); border-radius: 18px; padding: 1.25rem 1.4rem; height: 100%; box-sizing: border-box; }
.dyh-tile h3, .dyh-tile h4 { margin-top: .4rem; }
.dyh-tile p { color: var(--dyh-muted); font-size: .95rem; }
.dyh-tile .dyh-arabic { font-size: 1.6rem; }
.dyh-tile.is-highlight { background: var(--dyh-green); border-color: var(--dyh-green); color: #fff; }
.dyh-tile.is-highlight :where(h3, h4) { color: #fff; }
.dyh-tile.is-highlight p { color: #D7E5DC; }
.dyh-tile.is-highlight .dyh-arabic { color: var(--dyh-gold-l); }
.dyh-tile.is-gold { background: var(--dyh-gold-tint); border-color: #EBD9A8; }
.dyh-badge { display: inline-block; font-size: .7rem !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .7rem; border-radius: 999px; background: var(--dyh-tint); color: var(--dyh-green); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-dyh-gold .wp-block-button__link { background: var(--dyh-gold-l); color: var(--dyh-ink); }
.wp-block-button.is-style-dyh-gold .wp-block-button__link:hover { background: #F0D598; color: var(--dyh-ink); }
.wp-block-button.is-style-dyh-outline-light .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.7); }
.wp-block-button.is-style-dyh-outline-light .wp-block-button__link:hover { background: rgba(255,255,255,.12); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--dyh-green); border: 1.5px solid var(--dyh-green); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--dyh-tint); color: var(--dyh-deep); }
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; }
.dyh-btn { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: 0 1.4rem; border-radius: 12px; font-weight: 700; font-size: .95rem; text-decoration: none !important; background: var(--dyh-green); color: #fff !important; }
.dyh-btn:hover { background: var(--dyh-deep); }
.dyh-btn--gold { background: var(--dyh-gold-l); color: var(--dyh-ink) !important; }
.dyh-btn--gold:hover { background: #F0D598; }
.dyh-btn--dark { background: var(--dyh-ink); }
.dyh-btn--yt { background: #CC1D12; }
.dyh-btn--yt:hover { background: #A5170E; }
.dyh-live { width: 9px; height: 9px; border-radius: 50%; background: #FF4D3D; }

/* ---------- Header ---------- */
.dyh-topbar { font-size: .8125rem; }
.dyh-topbar, .dyh-topbar p { color: #D7E5DC; }
.dyh-topbar a { color: #D7E5DC; }
.dyh-next { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.5rem; }
.dyh-next__hijri { color: var(--dyh-gold-l); font-weight: 600; }
.dyh-next__prayer { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; color: inherit; text-decoration: none !important; }
.dyh-next__prayer strong { color: #fff; }
.dyh-next__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dyh-gold-l); }
.dyh-next__count { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--dyh-gold-l); }
.dyh-header .wp-block-site-title { font-family: var(--dyh-head); font-weight: 900; font-size: 1.15rem; line-height: 1.15; text-transform: uppercase; letter-spacing: .01em; }
.dyh-header .wp-block-site-title a { color: var(--dyh-ink); text-decoration: none; }
.dyh-header .wp-block-site-tagline { font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--dyh-gold-t); margin: 0; }
.dyh-mainnav { border-top: 1px solid var(--dyh-line); border-bottom: 1px solid var(--dyh-line); }
.dyh-mainnav .wp-block-navigation-item__content { padding: .95rem .85rem; border-bottom: 3px solid transparent; }
.dyh-mainnav .wp-block-navigation-item__content:hover { color: var(--dyh-green); text-decoration: none; }
.dyh-mainnav .current-menu-item > .wp-block-navigation-item__content, .dyh-mainnav [aria-current="page"] { color: var(--dyh-green); border-bottom-color: var(--dyh-gold); font-weight: 700; }
.dyh-mainnav .wp-block-navigation__responsive-container.is-menu-open { background: var(--dyh-cream); padding: 1.5rem; }
.dyh-mainnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .6rem 0; font-size: 1.1rem; }
@media (max-width: 781px) {
	.dyh-header-actions .dyh-hide-sm { display: none; }
	.dyh-topbar .dyh-topbar__contact { display: none; }
}

/* ---------- Footer ---------- */
.dyh-footer, .dyh-footer p { color: #D7E5DC; }
.dyh-footer :where(h2, h3, h4) { color: var(--dyh-gold-l); font-family: var(--wp--preset--font-family--body); font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.dyh-footer a { color: #D7E5DC; }
.dyh-footer a:hover { color: #fff; }
.dyh-footer .dyh-footer__logo img { background: var(--dyh-cream); border-radius: 14px; padding: 6px; }
.dyh-footer .wp-block-social-links .wp-social-link { background: rgba(255,255,255,.08) !important; color: var(--dyh-gold-l) !important; }
.dyh-footer .dyh-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .45rem; }
.dyh-footer .dyh-footer__links a { text-decoration: none; }
.dyh-footer__bar { border-top: 1px solid rgba(255,255,255,.12); font-size: .8125rem; }

/* ---------- Hero slider ---------- */
.dyh-slider { position: relative; margin-top: 0 !important; overflow: hidden; background: var(--dyh-deep); }
.dyh-slider__track { display: grid; }
.dyh-slider__track > * { grid-area: 1 / 1; margin: 0 !important; }
.dyh-slider:not(.is-ready) .dyh-slider__track > *:not(:first-child) { display: none; }
.dyh-slider.is-ready .dyh-slider__track > * { opacity: 0; visibility: hidden; transition: opacity .9s ease, visibility .9s; }
.dyh-slider.is-ready .dyh-slider__track > .is-active { opacity: 1; visibility: visible; }
.dyh-slider .wp-block-cover { min-height: clamp(520px, 72vh, 680px); padding-bottom: 8rem; }
.dyh-slider .wp-block-cover__inner-container { max-width: 1200px; margin-inline: auto; width: 100%; }
.dyh-slider .wp-block-cover h1, .dyh-slider .wp-block-cover h2 { color: #fff; font-size: clamp(2.1rem, 4.6vw, 3.8rem); line-height: 1.12; max-width: 760px; margin-block: .6rem 1rem; }
.dyh-slider .wp-block-cover p:not(.dyh-eyebrow) { font-size: 1.15rem; max-width: 560px; color: #E4EEE7; }
.dyh-slider__controls { position: absolute; left: 0; right: 0; bottom: 92px; max-width: 1200px; margin: 0 auto; padding: 0 24px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; box-sizing: border-box; pointer-events: none; }
.dyh-slider__controls > * { pointer-events: auto; }
.dyh-slider__dots { display: flex; }
.dyh-slider__dot { width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; }
.dyh-slider__dot::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 999px; background: rgba(255,255,255,.55); transition: width .3s, background .3s; }
.dyh-slider__dot[aria-current="true"]::before { width: 34px; background: var(--dyh-gold-l); }
.dyh-slider__arrows { display: flex; gap: .6rem; }
.dyh-slider__arrow { width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.6); background: rgba(0,0,0,.2); color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.dyh-slider__arrow:hover { background: rgba(0,0,0,.4); }
.dyh-slider.is-editing .dyh-slider__track { display: flex; flex-direction: column; gap: 16px; }
.dyh-slider.is-editing .dyh-slider__track > * { opacity: 1 !important; visibility: visible !important; display: flex !important; }
.dyh-slider__hint { margin: 0; padding: .6rem 1rem; background: var(--dyh-gold-tint); color: var(--dyh-gold-t); font-size: .85rem; font-weight: 600; }

/* ---------- Prayer: today strip ---------- */
.dyh-overlap { position: relative; z-index: 2; margin-top: -64px !important; }
.dyh-today__sunrise { margin: 0 0 .5rem; font-size: .85rem; color: var(--dyh-muted); }
.dyh-today__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; }
.dyh-today__item { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; border-radius: 16px; background: #F4F1E8; transition: background .3s, color .3s; }
.dyh-today__head { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; }
.dyh-today__name { font-weight: 700; font-size: .95rem; }
.dyh-today__ar { font-size: 1rem; color: var(--dyh-gold-t); }
.dyh-today__time { font-variant-numeric: tabular-nums; font-weight: 700; font-size: 1.45rem; line-height: 1.2; }
.dyh-today__iq { font-size: .75rem; opacity: .85; }
.dyh-today__item.is-next { background: var(--dyh-green); color: #fff; }
.dyh-today__item.is-next .dyh-today__ar { color: var(--dyh-gold-l); }

/* ---------- Prayer: timetable ---------- */
.dyh-tt__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.dyh-tt__month { display: flex; align-items: center; gap: 6px; }
.dyh-tt__month span { display: flex; flex-direction: column; padding: 0 10px; line-height: 1.3; }
.dyh-tt__month strong { font-family: var(--dyh-head); font-weight: 900; font-size: 1.35rem; }
.dyh-tt__month small { font-size: .8rem; color: var(--dyh-muted); }
.dyh-tt__nav { width: 44px; height: 44px; border: 1px solid var(--dyh-line); background: #fff; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; color: var(--dyh-ink) !important; text-decoration: none !important; }
.dyh-tt__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dyh-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: #EFEBDF; border-radius: 12px; padding: 4px; min-width: 220px; }
.dyh-toggle button, .dyh-tt__print { min-height: 40px; border: 0; border-radius: 9px; font: inherit; font-weight: 700; font-size: .85rem; cursor: pointer; background: transparent; color: var(--dyh-muted); }
.dyh-toggle button[aria-pressed="true"] { background: #fff; color: var(--dyh-green); }
.dyh-tt__print { background: #fff; border: 1px solid var(--dyh-line); padding: 0 16px; color: var(--dyh-green); }
.dyh-tt__scroll { overflow: auto; max-height: 720px; background: #fff; border: 1px solid var(--dyh-line); border-radius: 20px; }
.dyh-tt__table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; text-align: center; }
.dyh-tt__table thead th { position: sticky; top: 0; background: #fff; z-index: 1; padding: 12px 10px; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--dyh-muted); border-bottom: 1px solid var(--dyh-line); }
.dyh-tt__table th[scope="row"] { text-align: left; font-weight: 600; white-space: nowrap; }
.dyh-tt__table td, .dyh-tt__table th[scope="row"] { padding: 9px 10px; border-bottom: 1px solid #F0ECE0; }
.dyh-tt__table tr.is-friday { background: var(--dyh-gold-tint); font-weight: 700; }
.dyh-tt__table tr.is-today { background: var(--dyh-green); color: #fff; font-weight: 700; }
.dyh-tt__h, .dyh-tt__sun { opacity: .75; }
.dyh-tt__fri { display: block; font-size: .65rem; font-weight: 700; color: var(--dyh-gold-t); text-transform: uppercase; letter-spacing: .06em; }
.is-today .dyh-tt__fri { color: var(--dyh-gold-l); }
.dyh-tt[data-mode="adhan"] .t-iqamah, .dyh-tt[data-mode="iqamah"] .t-adhan { display: none; }
.dyh-tt__note { font-size: .8rem; color: var(--dyh-muted); margin-top: 12px; }

/* ---------- Jumu'ah ---------- */
.dyh-jumuah { background: var(--dyh-gold-tint); border: 1px solid #EBD9A8; border-radius: 22px; padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.dyh-jumuah__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; text-align: center; }
.dyh-jumuah__cell { display: flex; flex-direction: column; gap: 2px; background: #fff; border-radius: 12px; padding: 12px 4px; }
.dyh-jumuah__cell span { font-size: .7rem; font-weight: 700; color: var(--dyh-gold-t); text-transform: uppercase; letter-spacing: .06em; }
.dyh-jumuah__cell strong { font-size: 1.05rem; }
.dyh-jumuah__cell.is-main { background: var(--dyh-green); color: #fff; }
.dyh-jumuah__cell.is-main span { color: var(--dyh-gold-l); }
.dyh-jumuah__note { margin: 0; font-size: .9rem; color: var(--dyh-muted); }

/* ---------- YouTube ---------- */
.dyh-yt { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; border: 0; border-radius: 16px; overflow: hidden; background: #000; cursor: pointer; }
.dyh-yt img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.dyh-yt:hover img { transform: scale(1.03); }
.dyh-yt__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 44px; border-radius: 12px; background: #E62117; color: #fff; display: flex; align-items: center; justify-content: center; }
.dyh-yt.is-large .dyh-yt__play { width: 84px; height: 60px; border-radius: 16px; }
.dyh-yt.is-playing iframe { width: 100%; height: 100%; border: 0; display: block; }
.dyh-videos--featured { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.dyh-videos__main { flex: 999 1 520px; min-width: 0; }
.dyh-videos__player { position: relative; }
.dyh-videos__badge { position: absolute; left: 16px; top: 16px; background: var(--dyh-gold-l); color: var(--dyh-ink); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .35rem .7rem; border-radius: 999px; pointer-events: none; }
.dyh-videos__title { font-size: 1.4rem; margin: 1rem 0 .25rem; }
.dyh-videos__meta { margin: 0; font-size: .9rem; color: var(--dyh-muted); }
.dyh-videos__list { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.dyh-videos__label { margin: 0; font-size: .8rem; font-weight: 700; color: var(--dyh-muted); }
.dyh-videos__item { display: flex; gap: 14px; align-items: center; text-align: left; padding: 10px; border-radius: 16px; border: 1px solid var(--dyh-line); background: #fff; cursor: pointer; font: inherit; color: var(--dyh-ink); }
.dyh-videos__item img { width: 132px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; flex-shrink: 0; }
.dyh-videos__item span { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.dyh-videos__item strong { font-size: .9rem; line-height: 1.3; }
.dyh-videos__item small { font-size: .75rem; color: var(--dyh-muted); }
.dyh-videos.is-dark .dyh-videos__title { color: #fff; }
.dyh-videos.is-dark .dyh-videos__meta, .dyh-videos.is-dark .dyh-videos__label, .dyh-videos.is-dark .dyh-videos__item small { color: #B9CEC0; }
.dyh-videos.is-dark .dyh-videos__item { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); color: #fff; }
.dyh-videos.is-dark .dyh-empty { background: transparent; color: #D7E5DC; border-color: rgba(255,255,255,.25); }
.dyh-vgrid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 22px; }
.dyh-vcard { background: #fff; border: 1px solid var(--dyh-line); border-radius: 20px; overflow: hidden; }
.dyh-vcard .dyh-yt { border-radius: 0; }
.dyh-vcard__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 5px; }
.dyh-vcard__title { font-size: 1rem; margin: 0; line-height: 1.35; }
.dyh-vcard__meta { font-size: .8rem; color: var(--dyh-muted); }
.dyh-videos.is-dark .dyh-vcard { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.dyh-videos.is-dark .dyh-vcard__title { color: #fff; }
.dyh-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.dyh-chip { min-height: 42px; padding: 0 16px; border-radius: 999px; font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; border: 1px solid var(--dyh-line); background: #fff; color: var(--dyh-ink); }
.dyh-chip[aria-pressed="true"] { background: var(--dyh-green); border-color: var(--dyh-green); color: #fff; }
.dyh-vgallery__more { text-align: center; margin-top: 28px; }

/* core/categories as chips */
.wp-block-categories.is-style-dyh-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wp-block-categories.is-style-dyh-chips li a { display: inline-flex; align-items: center; min-height: 42px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--dyh-line); background: #fff; color: var(--dyh-ink); font-weight: 700; font-size: .875rem; text-decoration: none; }
.wp-block-categories.is-style-dyh-chips li a:hover, .wp-block-categories.is-style-dyh-chips li.current-cat a { background: var(--dyh-green); border-color: var(--dyh-green); color: #fff; }

/* ---------- Events ---------- */
.dyh-events__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.dyh-events.is-cards .dyh-events__list { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.dyh-event { display: flex; gap: 16px; align-items: center; padding: 16px; border-radius: 18px; background: #fff; border: 1px solid var(--dyh-line); color: var(--dyh-ink) !important; text-decoration: none !important; height: 100%; box-sizing: border-box; }
.dyh-event:hover { border-color: var(--dyh-green); }
.dyh-event__date { width: 60px; height: 66px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 14px; background: var(--dyh-green); color: #fff; line-height: 1.1; }
.dyh-event__date span { font-size: .7rem; font-weight: 700; color: var(--dyh-gold-l); }
.dyh-event__date strong { font-family: var(--dyh-head); font-weight: 900; font-size: 1.4rem; }
.dyh-event__body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.dyh-event__title { font-weight: 700; font-size: 1rem; line-height: 1.3; }
.dyh-event__meta { font-size: .8rem; color: var(--dyh-muted); }
.dyh-event__excerpt { font-size: .875rem; color: var(--dyh-muted); margin-top: 4px; }
.dyh-evd { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.dyh-evd__cell { flex: 1 1 150px; background: #fff; border: 1px solid var(--dyh-line); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.dyh-evd__cell span { font-size: .7rem; font-weight: 700; color: var(--dyh-muted); text-transform: uppercase; letter-spacing: .08em; }
.dyh-evd__cal { flex: 1 1 100%; font-weight: 700; font-size: .9rem; }

/* ---------- Post cards (Query Loop) ---------- */
.dyh-post-card { background: #fff; border: 1px solid var(--dyh-line); border-radius: 20px; overflow: hidden; height: 100%; display: flex; flex-direction: column; }
.dyh-post-card .wp-block-post-featured-image { margin: 0; }
.dyh-post-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; border-radius: 0; }
.dyh-post-card__body { padding: 18px 20px 22px; flex: 1; }
.dyh-post-card .wp-block-post-title { font-size: 1.1rem; line-height: 1.35; margin: .3rem 0 .5rem; }
.dyh-post-card .wp-block-post-title a { color: var(--dyh-ink); text-decoration: none; }
.dyh-post-card .wp-block-post-excerpt { font-size: .9rem; color: #4A544D; }
.dyh-post-card .wp-block-post-excerpt__more-link { font-weight: 700; }
.dyh-post-card .wp-block-post-terms { font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dyh-post-card .wp-block-post-terms a { display: inline-block; padding: .25rem .6rem; border-radius: 999px; background: var(--dyh-tint); color: var(--dyh-green); text-decoration: none; }
.wp-block-post-template.is-layout-grid > li { height: 100%; }
.wp-block-query-pagination { gap: 8px; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { display: inline-flex; min-width: 46px; height: 46px; align-items: center; justify-content: center; border-radius: 12px; background: #fff; border: 1px solid var(--dyh-line); color: var(--dyh-ink); font-weight: 700; text-decoration: none; padding: 0 12px; box-sizing: border-box; }
.wp-block-query-pagination .page-numbers.current { background: var(--dyh-green); border-color: var(--dyh-green); color: #fff; }

/* ---------- Gallery mosaic ---------- */
.wp-block-gallery.is-style-dyh-mosaic { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); grid-auto-rows: 200px; grid-auto-flow: dense; gap: 12px !important; }
.wp-block-gallery.is-style-dyh-mosaic > figure.wp-block-image { width: auto !important; margin: 0 !important; height: 100%; border-radius: 16px; overflow: hidden; }
.wp-block-gallery.is-style-dyh-mosaic > figure.wp-block-image img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 0; }
.wp-block-gallery.is-style-dyh-mosaic > figure:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; }
.wp-block-gallery.is-style-dyh-mosaic > figure:nth-child(7n+2), .wp-block-gallery.is-style-dyh-mosaic > figure:nth-child(7n+3) { grid-row: span 2; }
.wp-block-gallery.is-style-dyh-mosaic > figure:nth-child(7n+4), .wp-block-gallery.is-style-dyh-mosaic > figure:nth-child(7n+7) { grid-column: span 2; }
@media (max-width: 600px) {
	.wp-block-gallery.is-style-dyh-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; }
}

/* ---------- Forms ---------- */
.dyh-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.dyh-field { display: flex; flex-direction: column; gap: 6px; font-size: .875rem; font-weight: 600; }
.dyh-field.is-wide, .dyh-form__submit { grid-column: 1 / -1; }
.dyh-field abbr { color: #A12A1D; text-decoration: none; }
.dyh-field input, .dyh-field select, .dyh-field textarea { min-height: 48px; border-radius: 12px; border: 1px solid #CFC8B5; padding: 0 14px; font: inherit; font-size: 1rem; font-weight: 400; background: #fff; color: var(--dyh-ink); box-sizing: border-box; width: 100%; }
.dyh-field textarea { padding: 12px 14px; resize: vertical; }
.dyh-field input:focus, .dyh-field select:focus, .dyh-field textarea:focus { outline: 2px solid var(--dyh-gold); outline-offset: 1px; border-color: var(--dyh-green); }
.dyh-field--check { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; color: #4A544D; }
.dyh-field--check input { width: 20px; min-height: 20px; height: 20px; accent-color: var(--dyh-green); margin: 1px 0 0; }
.dyh-form__submit { min-height: 54px; font-size: 1rem !important; cursor: pointer; border: 0; }
.dyh-form-notice { padding: 18px 20px; border-radius: 16px; font-size: 1rem; }
.dyh-form-notice.is-success { background: var(--dyh-tint); color: var(--dyh-deep); }
.dyh-form-notice.is-error { background: #FDECEA; color: #8A1F14; margin-bottom: 16px; }

/* ---------- Campaign ---------- */
.dyh-campaign { display: flex; flex-direction: column; gap: 12px; }
.dyh-campaign__head { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-size: 1rem; }
.dyh-campaign__head span { font-weight: 700; color: var(--dyh-green); }
.dyh-campaign__bar { height: 12px; border-radius: 999px; background: #EFEBDF; overflow: hidden; }
.dyh-campaign__bar span { display: block; height: 100%; background: var(--dyh-green); border-radius: 999px; }
.dyh-campaign__meta { margin: 0; font-size: .875rem; color: var(--dyh-muted); }
.dyh-campaign .dyh-btn { align-self: stretch; min-height: 54px; }
.dyh-campaign.is-dark .dyh-campaign__head { color: #fff; }
.dyh-campaign.is-dark .dyh-campaign__head span { color: var(--dyh-gold-l); }
.dyh-campaign.is-dark .dyh-campaign__bar { background: rgba(255,255,255,.18); }
.dyh-campaign.is-dark .dyh-campaign__bar span { background: var(--dyh-gold-l); }
.dyh-campaign.is-dark .dyh-campaign__meta { color: #D7E5DC; }

/* ---------- Contact info ---------- */
.dyh-info--cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.dyh-info--cards .dyh-info__item { background: #fff; border: 1px solid var(--dyh-line); border-radius: 20px; padding: 20px 22px; display: flex; flex-direction: column; gap: 8px; box-shadow: 0 12px 30px rgba(13,59,36,.06); }
.dyh-info__label { font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--dyh-gold-t); }
.dyh-info--cards .dyh-info__value { font-weight: 600; line-height: 1.5; }
.dyh-info--cards .dyh-info__value a { font-weight: 700; }
.dyh-info--list { display: grid; gap: 12px; }
.dyh-info--list .dyh-info__item { display: flex; flex-direction: column; gap: 2px; }
.dyh-info--list .dyh-info__label { color: inherit; opacity: .7; }
.dyh-footer .dyh-info__value, .dyh-footer .dyh-info__value a { color: #fff; }
.dyh-copy { margin-left: 6px; min-height: 32px; padding: 0 12px; border-radius: 8px; border: 1.5px solid var(--dyh-green); background: #fff; color: var(--dyh-green); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.dyh-num { font-variant-numeric: tabular-nums; letter-spacing: .04em; }

/* ---------- Map ---------- */
.dyh-map iframe { width: 100%; border: 0; border-radius: 24px; display: block; background: var(--dyh-tint); }

/* ---------- Page banner ---------- */
.dyh-banner { margin-top: 0 !important; }
.dyh-banner h1 { color: #fff; }
.dyh-breadcrumb { font-size: .8125rem; color: #D7E5DC; margin: 0; }
.dyh-breadcrumb a { color: var(--dyh-gold-l); }

/* ---------- Details (FAQ) ---------- */
.wp-block-details { background: #fff; border: 1px solid var(--dyh-line); border-radius: 16px; padding: 0; margin-block: 0 10px !important; }
.wp-block-details summary { padding: 18px 22px; font-weight: 700; cursor: pointer; list-style-position: outside; }
.wp-block-details[open] summary { border-bottom: 1px solid #F0ECE0; }
.wp-block-details > *:not(summary) { padding: 0 22px; color: #4A544D; }
.wp-block-details > *:not(summary):last-child { padding-bottom: 18px; }

/* ---------- Editor helpers ---------- */
.dyh-editor-preview a, .dyh-editor-preview button, .dyh-editor-preview iframe { pointer-events: none; }

/* ---------- Print: timetable only ---------- */
@media print {
	header, footer, .wp-site-blocks > header, .wp-site-blocks > footer, .dyh-tt__actions, .dyh-tt__nav, .dyh-noprint { display: none !important; }
	.dyh-tt__scroll { max-height: none; overflow: visible; border: 0; }
	.dyh-tt__table { font-size: 10pt; min-width: 0; }
	.dyh-tt__table thead th { position: static; }
	body { background: #fff; }
}

/* ---------- Fixes after testing ---------- */
.dyh-slider .wp-block-cover { padding-left: max(24px, calc((100% - 1200px) / 2)); padding-right: max(24px, calc((100% - 1200px) / 2)); }
.dyh-slider .wp-block-cover__inner-container { max-width: 1200px; }
.dyh-slider .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.dyh-banner.wp-block-cover { padding-left: max(24px, calc((100% - 1200px) / 2)); padding-right: max(24px, calc((100% - 1200px) / 2)); }
.dyh-banner.wp-block-cover .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; max-width: 760px; }
.dyh-banner.wp-block-cover h1 { color: #fff; }
.dyh-footer .dyh-footer__logo img { width: 64px; height: auto; }
.dyh-shadow { box-shadow: 0 18px 44px rgba(13,59,36,.14); }
.dyh-muted { color: var(--dyh-muted); }
.dyh-breadcrumb--dark, .dyh-breadcrumb--dark a { color: var(--dyh-muted); }
.dyh-janazah.is-style-dyh-geo { background-color: #4A2A1F; }
.dyh-stat { background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.18) !important; }
.dyh-stat p { margin: 0; color: #D7E5DC; }
.dyh-stat p strong { color: var(--dyh-gold-l); font-family: var(--dyh-head); }
.dyh-steps { padding-left: 1.2rem; display: grid; gap: .75rem; }
.dyh-steps li { padding-left: .3rem; }
.dyh-checks { list-style: none; padding: 0; display: grid; gap: .35rem; font-size: .9rem; }
.dyh-checks li::before { content: "✓"; color: var(--dyh-green); font-weight: 700; margin-right: .5rem; }
.dyh-tile--media { padding: 0 !important; overflow: hidden; }
.dyh-tile--media .wp-block-image { margin: 0; }
.dyh-tile--media .wp-block-image img { border-radius: 0; width: 100%; }
.dyh-tile--media > :not(.wp-block-image) { padding-left: 1.3rem; padding-right: 1.3rem; }
.dyh-tile--media > :last-child { padding-bottom: 1.3rem; }
.dyh-portrait img { background: #fff; border: 1px solid var(--dyh-line); padding: 2rem; box-sizing: border-box; }
.dyh-milestone h3 { color: var(--dyh-green); font-size: 1.6rem; }
.dyh-tile .dyh-badge { margin: 0; }
.dyh-tile .wp-block-group.is-layout-flex { align-items: center; }
.dyh-post-card .wp-block-post-featured-image:empty { display: none; }
.dyh-tile.is-highlight .dyh-badge { background: var(--dyh-gold-l); color: var(--dyh-ink); }
.dyh-slider__controls { z-index: 5; }
