/* BATCH 02: editable core blocks. Geometry is sourced from design-tokens.json. */
*, *::before, *::after { box-sizing:border-box; }
body { margin:0; background:var(--madar-canvas); color:var(--madar-navy); font-family:Cairo,sans-serif; font-size:var(--madar-body-size); font-weight:400; line-height:var(--madar-body-leading); font-synthesis:none; }
.madar-header, .madar-main, .editor-styles-wrapper .madar-header-inner, .editor-styles-wrapper .madar-hero, .editor-styles-wrapper .madar-programs { direction:rtl; font-family:Cairo,sans-serif; }
.madar-header :is(p,figure,h1), .madar-main :is(p,figure,h1,h2,h3) { margin:0; }
.madar-header a, .madar-main a { color:inherit; }
.madar-container { inline-size:calc(100% - 2 * var(--madar-gutter)); max-inline-size:var(--madar-container-max); margin-inline:auto; }
.madar-header { background:var(--madar-white); border-end-start-radius:var(--madar-space-xl); border-end-end-radius:var(--madar-space-xl); box-shadow:0 .5rem 2rem #052b6008; }
.madar-header-inner { min-block-size:var(--madar-header-height); display:flex; align-items:center; justify-content:space-between; gap:var(--madar-space-lg); }
.madar-brand { display:flex; align-items:center; flex:none; }
.madar-brand-mark { inline-size:var(--madar-logo-width); }
.madar-brand-mark img { display:block; inline-size:100%; block-size:auto; object-fit:contain; mix-blend-mode:normal; clip-path:none; }
.madar-desktop-nav { display:flex; justify-content:center; flex:1; font-size:var(--madar-nav-size); font-weight:500; }
.madar-desktop-nav .wp-block-navigation__container { display:flex; align-items:center; gap:clamp(1.2rem,2.7vw,3rem); padding:0; margin:0; list-style:none; }
.madar-desktop-nav .wp-block-navigation-item__content { text-decoration:none; padding-block:var(--madar-space-xs); white-space:nowrap; }
.madar-desktop-nav .is-current { position:relative; font-weight:700; }
.madar-desktop-nav .is-current::after { content:""; position:absolute; inset-inline:0; inset-block-end:-.1rem; block-size:3px; background:var(--madar-green); border-radius:3px; }
.madar-pending { cursor:default; }
.madar-contact { padding:.4rem var(--madar-space-lg); border-radius:3rem; background:var(--madar-navy); color:var(--madar-white); white-space:nowrap; font-size:var(--madar-nav-size); }
.madar-menu-closed { display:none; inline-size:2.75rem; block-size:2.75rem; padding:.55rem; border:0; background:transparent; opacity:1; color:var(--madar-navy); }
.madar-menu-closed span { display:block; block-size:3px; margin-block:5px; background:currentColor; border-radius:3px; }
.madar-main { background:linear-gradient(120deg,#fafdfc,var(--madar-canvas)); }
.madar-hero { position:relative; padding-block:var(--madar-hero-pad-start) var(--madar-hero-pad-end); }
.madar-hero-grid { inline-size:calc(100% - 2 * var(--madar-hero-gutter)); display:grid; grid-template-columns:minmax(0,var(--madar-hero-copy-track)) minmax(0,var(--madar-hero-image-track)); column-gap:var(--madar-hero-gap); align-items:center; }
.madar-hero-copy { grid-column:1; grid-row:1; padding-block:1.25rem var(--madar-space-xs); }
.madar-hero-title { font-family:Cairo,sans-serif; font-size:var(--madar-hero-title-size); line-height:var(--madar-title-leading); font-weight:800; text-wrap:balance; }
.madar-hero-tagline { margin-block:var(--madar-space-md) !important; color:var(--madar-green); font-size:var(--madar-hero-tagline-size); font-weight:700; }
.madar-hero-description { font-size:var(--madar-hero-description-size); line-height:1.65; }
.madar-hero-image { grid-column:2; grid-row:1 / span 2; min-inline-size:0; }
.madar-hero-image img { display:block; inline-size:100%; aspect-ratio:var(--madar-hero-image-ratio); object-fit:cover; border-radius:var(--madar-image-radius); }
.madar-hero-actions { grid-column:1; grid-row:2; display:flex; gap:var(--madar-space-lg); align-items:center; justify-content:space-between; padding-block:1.25rem var(--madar-space-sm); }
.madar-primary-action { display:flex; gap:var(--madar-space-lg); align-items:center; justify-content:center; padding:var(--madar-action-pad-block) var(--madar-space-lg); min-block-size:var(--madar-action-min-height); flex:1; border-radius:var(--madar-card-radius); font-size:var(--madar-action-size); font-weight:700; background:var(--madar-navy); color:var(--madar-white); box-shadow:0 .5rem 1.5rem #052b600a; }
.madar-primary-action > span { order:-1; }
.madar-secondary-action { font-size:1rem; font-weight:700; flex:none; }
.madar-secondary-action a { text-decoration:none; border-block-end:2px solid var(--madar-green); padding-block-end:.2rem; }
.madar-programs { padding-block:var(--madar-program-pad-start) var(--madar-space-xl); }
.madar-section-heading { text-align:center; margin-block-end:var(--madar-section-heading-gap); }
.madar-section-heading::before { content:""; display:block; inline-size:4.5rem; block-size:4px; background:var(--madar-green); border-radius:4px; margin:0 auto var(--madar-space-sm); }
.madar-section-heading h2 { font-family:Cairo,sans-serif; font-weight:800; font-size:var(--madar-section-title-size); line-height:var(--madar-section-title-leading); }
.madar-section-heading p { margin-block-start:var(--madar-section-caption-gap); font-size:var(--madar-section-caption-size); }
.madar-program-grid { display:grid; grid-template-columns:repeat(var(--madar-program-columns),minmax(0,1fr)); gap:var(--madar-program-gap); align-items:stretch; }
.madar-program-card { position:relative; min-inline-size:0; display:flex; flex-direction:column; border-radius:var(--madar-card-radius); background:var(--madar-white); box-shadow:0 .65rem 1.6rem #052b6007; }
/* Native images preserve all available pixels: baked-in badges remain an asset limitation. */
.madar-program-image img { inline-size:100%; block-size:auto; aspect-ratio:auto; object-fit:contain; display:block; border-start-start-radius:var(--madar-card-radius); border-start-end-radius:var(--madar-card-radius); }
.madar-program-body { position:relative; flex:1; padding-block:var(--madar-card-pad-block); padding-inline:var(--madar-card-pad-inline) 3rem; }
.madar-program-title { font-family:Cairo,sans-serif; font-size:var(--madar-program-title-size); font-weight:700; line-height:1.5; text-wrap:pretty; overflow-wrap:break-word; }
.madar-program-description { display:none; }
.madar-card-arrow { position:absolute; inset-inline-end:.75rem; inset-block-start:var(--madar-space-md); inline-size:2rem; block-size:2rem; display:grid; place-items:center; border-radius:50%; background:var(--madar-canvas); font-size:1rem; }
a:focus-visible { outline:3px solid var(--madar-green); outline-offset:5px; }
@media (min-width:768px) and (max-width:1199px) {
 .madar-desktop-nav, .madar-contact { display:none; }
 .madar-menu-closed { display:block; }
 .madar-hero-actions { flex-direction:column; align-items:stretch; }
 .madar-primary-action { flex:none; }
 .madar-secondary-action { text-align:center; }
 .madar-program-description { display:block; margin-block-start:var(--madar-space-xs); }
}
@media (max-width:767px) {
 .madar-header { border-radius:0; }
 .madar-header-inner { gap:var(--madar-space-md); }
 .madar-desktop-nav, .madar-contact { display:none; }
 .madar-menu-closed { display:block; }
 .madar-hero-grid { display:flex; flex-direction:column; gap:0; }
 .madar-hero-copy { padding:0; inline-size:100%; text-align:center; }
 .madar-hero-tagline { line-height:1.6; margin-block:.9rem 1.25rem !important; }
 .madar-hero-description { display:none; }
 .madar-hero-image { inline-size:100%; }
 .madar-hero-actions { inline-size:100%; flex-direction:column; gap:1.4rem; padding-block:var(--madar-space-md) 0; }
 .madar-primary-action { inline-size:100%; flex:none; position:relative; }
 .madar-primary-action > span { position:absolute; inset-inline-start:var(--madar-space-lg); }
 .madar-programs { padding-block:var(--madar-program-pad-start) var(--madar-space-xl); background:var(--madar-white); border-start-start-radius:var(--madar-space-xl); border-start-end-radius:var(--madar-space-xl); }
 .madar-section-heading::before { inline-size:2.4rem; block-size:3px; }
 .madar-program-body { padding-inline:var(--madar-card-pad-inline); }
 .madar-program-title { text-align:end; }
 .madar-program-description { display:block; font-size:var(--madar-program-description-size); line-height:1.6; margin-block-start:.6rem; padding-inline-start:3.5rem; text-align:end; }
 .madar-card-arrow { inset-inline-end:auto; inset-inline-start:var(--madar-space-md); inset-block-start:auto; inset-block-end:var(--madar-card-pad-block); inline-size:2.5rem; block-size:2.5rem; }
}
@media (min-width:1200px) {
 .madar-primary-action { flex:none; inline-size:var(--madar-desktop-action-width); }
 .madar-program-body { display:flex; flex-direction:column; justify-content:flex-end; }
 .madar-card-arrow { inset-block-start:auto; inset-block-end:var(--madar-space-md); }
 .madar-program-card:nth-child(2) .madar-program-title { font-size:var(--madar-protection-title-size); }
}

/* R2: contain WordPress core flex defaults; no dependence on a saved menu. */
.madar-header-inner, .madar-header-inner > *, .madar-hero-grid > *, .madar-program-grid > * { min-inline-size:0; }
.madar-brand { flex-shrink:0; }
.madar-brand-mark { flex:none; margin:0; }
.madar-header .madar-desktop-nav { direction:rtl; }
.madar-desktop-nav .wp-block-navigation__container { flex-wrap:nowrap; }
.madar-contact a { color:var(--madar-white); text-decoration:none; }
.madar-primary-action { flex:0 0 auto; white-space:nowrap; min-inline-size:min(100%,var(--madar-action-min-width)); max-inline-size:100%; border-radius:var(--madar-action-radius); line-height:1.25; text-align:center; }
.madar-primary-action > span { flex-shrink:0; }
.madar-hero { isolation:isolate; }
.madar-hero::before, .madar-hero::after { content:""; position:absolute; pointer-events:none; z-index:-1; inset-block:1rem 0; inline-size:min(10vw,9rem); background:url('../images/hero-leaves-r2.svg') no-repeat center / 100% 100%; }
.madar-hero::before { inset-inline-start:0; opacity:.25; }
.madar-hero::after { inset-inline-end:0; transform:scaleX(-1); }
.madar-program-card, .madar-program-image, .madar-program-body { overflow:visible; }
.madar-program-image { position:relative; z-index:1; flex-shrink:0; margin:0; }
.madar-program-body { z-index:0; }
.madar-card-arrow { z-index:2; }
@media (max-width:1199px) { .madar-desktop-nav, .madar-contact { display:none !important; } }
@media (max-width:767px) { .madar-hero::before, .madar-hero::after { display:none; } }

/* R2.1: source-window crops hide baked badges; originals remain intact. */
.madar-program-card { --madar-photo-retained:1; --madar-photo-left:0%; --madar-photo-ratio:1.777777778; }
.madar-program-card:nth-child(2) { --madar-photo-retained:.766666667; --madar-photo-left:-30.43478261%; --madar-photo-ratio:1.63410302; }
.madar-program-card:nth-child(3) { --madar-photo-retained:.72; --madar-photo-ratio:1.777777778; }
.madar-program-card:nth-child(4) { --madar-photo-retained:.73; --madar-photo-ratio:1.926121372; }
.madar-program-image { overflow:hidden; aspect-ratio:var(--madar-photo-ratio); border-start-start-radius:var(--madar-card-radius); border-start-end-radius:var(--madar-card-radius); }
.madar-program-image img { position:absolute; left:var(--madar-photo-left); top:0; inline-size:calc(100% / var(--madar-photo-retained)); max-inline-size:none; max-width:none; block-size:100%; aspect-ratio:auto; object-fit:cover; object-position:left center; border-radius:0; }
.madar-program-body { z-index:2; padding-block-start:calc(var(--madar-program-badge-size)/2 + .75rem); }
.madar-program-badge { position:absolute; z-index:3; inset-block-start:0; inset-inline-start:1rem; transform:translateY(-50%); inline-size:var(--madar-program-badge-size); block-size:var(--madar-program-badge-size); border-radius:50%; background:var(--madar-program-badge-green); margin:0 !important; pointer-events:none; }
.madar-program-badge img { display:block; inline-size:100%; block-size:100%; }
@media (max-width:767px) {
 .madar-program-badge { inset-inline-start:auto; inset-inline-end:var(--madar-card-pad-inline); }
 .madar-program-card:nth-child(2) .madar-program-badge { background:var(--madar-program-badge-blue); }
}

/* R2.3: compact desktop cards; no block serialization changes.
 * Shared geometry is provisional: a 5:2 photo frame and 4px badge/title clearance.
 * Source-window crops and original asset bytes remain unchanged.
 */
.madar-program-card { gap:0 !important; }
.madar-program-card > .madar-program-image,
.madar-program-card > .madar-program-body { margin-block:0 !important; }
.madar-program-body > .madar-program-title { margin-block:0 !important; }
@media (min-width:769px) {
 .madar-program-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 .madar-program-card { --madar-compact-photo-ratio:2.5; --madar-compact-badge-clearance:.25rem; --madar-compact-bottom-pad:.5rem; --madar-compact-title-size:clamp(.9rem,1.12vw,1rem); }
 .madar-program-image { aspect-ratio:var(--madar-compact-photo-ratio); }
 .madar-program-body { display:flex; flex-direction:column; justify-content:flex-start; min-block-size:0; padding-block:calc(var(--madar-program-badge-size)/2 + var(--madar-compact-badge-clearance)) var(--madar-compact-bottom-pad); }
 .madar-program-body .madar-program-title { font-size:var(--madar-compact-title-size); }
 .madar-program-body .madar-program-description { display:none; }
 .madar-card-arrow { inset-block-start:auto; inset-block-end:var(--madar-compact-bottom-pad); }
}
/* 768px keeps the full vertical mobile program cards; Header/Hero stay unchanged. */
@media (min-width:768px) and (max-width:768px) {
 .madar-program-grid { grid-template-columns:minmax(0,1fr); gap:1rem; }
 .madar-programs { padding-block:1rem 2rem; background:var(--madar-white); border-start-start-radius:2rem; border-start-end-radius:2rem; }
 .madar-section-heading::before { inline-size:2.4rem; block-size:3px; }
 .madar-program-body { padding-inline:1.5rem; padding-block-end:1.25rem; }
 .madar-program-title { font-size:1.15rem; text-align:end; margin-inline-start:3.5rem !important; }
 .madar-program-description { display:block; font-size:1rem; line-height:1.6; margin-block-start:.6rem; padding-inline-start:3.5rem; text-align:end; }
 .madar-card-arrow { inset-inline-end:auto; inset-inline-start:1rem; inset-block-start:auto; inset-block-end:1.25rem; inline-size:2.5rem; block-size:2.5rem; }
 .madar-program-badge { inset-inline-start:auto; inset-inline-end:1.5rem; }
 .madar-program-card:nth-child(2) .madar-program-badge { background:var(--madar-program-badge-blue); }
}
