/*
 * Iconic Runway — hub styles.
 * Layout only: typography, colors and dark mode come from the IOM block theme and its global styles,
 * so the hub inherits any future brand change. Loaded only on Runway views.
 */
.iconic-runway {
	--ir-ink: var(--wp--preset--color--ink, #0e0d0c);
	--ir-muted: var(--wp--preset--color--muted, #6b655e);
	--ir-rule: currentColor;
	--ir-accent: #ff3f00;
	--ir-link-hover: #1190f3;
	--ir-band: var(--wp--preset--color--band, #16140f);
	--ir-gap: clamp(16px, 2.4vw, 32px);
	--ir-section: clamp(48px, 7vw, 96px);
	--ir-interface: var(--wp--preset--font-family--interface, "Archivo", "Helvetica Neue", Arial, sans-serif);
	padding-block: 0 var(--ir-section);
}

.iconic-runway a { color: inherit; text-decoration: none; }
.iconic-runway a:hover,
.iconic-runway a:focus-visible { color: var(--ir-link-hover); }
.iconic-runway a:focus-visible,
.iconic-runway button:focus-visible { outline: 2px solid var(--ir-link-hover); outline-offset: 3px; }

/* Masthead */
.ir-masthead {
	text-align: center;
	padding-block: clamp(32px, 6vw, 72px) clamp(20px, 3vw, 32px);
	border-bottom: 1px solid var(--ir-rule);
}
.ir-eyebrow,
.ir-kicker,
.iconic-runway .ir-kicker a,
.ir-date,
.ir-section__more,
.ir-nav a {
	font-family: var(--ir-interface);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.ir-eyebrow { margin: 0 0 12px; color: var(--ir-accent); }
.ir-title {
	margin: 0;
	font-size: clamp(3rem, 9vw, 7.5rem);
	line-height: 0.92;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}
.ir-dek {
	max-width: 46ch;
	margin: 20px auto 0;
	font-size: clamp(1.05rem, 1.6vw, 1.3rem);
	line-height: 1.5;
	font-style: italic;
	color: var(--ir-muted);
}

/* Section navigation */
.ir-nav { margin-top: clamp(24px, 3vw, 36px); }
.ir-nav ul {
	display: flex;
	justify-content: center;
	gap: 6px clamp(14px, 2vw, 28px);
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ir-nav a {
	display: inline-block;
	padding: 10px 0;
	min-height: 24px;
	border-bottom: 1px solid transparent;
}
.ir-nav a[aria-current="true"] { border-bottom-color: var(--ir-accent); color: var(--ir-accent); }
@media (max-width: 781px) {
	.ir-nav { overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
	.ir-nav::-webkit-scrollbar { display: none; }
	.ir-nav ul { flex-wrap: nowrap; justify-content: flex-start; padding-inline: 4px 40px; }
	.ir-nav li { flex: 0 0 auto; }
}

/* Sections */
.ir-section { padding-block: var(--ir-section) 0; scroll-margin-top: 120px; }
.ir-section__head {
	gap: 12px 24px;
	flex-wrap: wrap;
	margin-bottom: clamp(20px, 3vw, 32px);
	padding-top: 14px;
	border-top: 1px solid var(--ir-rule);
}
.ir-section__title {
	margin: 0;
	font-size: clamp(1.9rem, 4vw, 3rem);
	line-height: 1;
	letter-spacing: -0.01em;
}
.ir-section__dek { margin: 0; max-width: 52ch; color: var(--ir-muted); font-style: italic; }
.ir-section__more { margin: 0; }
.ir-section__more a { color: var(--ir-accent); }
.ir-section__more a::after { content: " \2192"; }

/* Story grids */
.ir-grid .wp-block-post-template { gap: clamp(24px, 3vw, 40px) var(--ir-gap); margin: 0; }
.ir-grid .wp-block-post-featured-image { margin: 0 0 14px; overflow: hidden; }
.ir-grid .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 18%; /* keep faces and headroom in frame */
	transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.ir-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) {
	.ir-grid .wp-block-post-featured-image img { transition: none; }
	.ir-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: none; }
}
.ir-kicker { margin: 0 0 6px; color: var(--ir-link-hover); }
.ir-kicker a { color: inherit; }
.ir-card__title { margin: 0 0 8px; font-size: clamp(1.2rem, 1.8vw, 1.5rem); line-height: 1.15; }
.ir-card__excerpt { margin: 0; font-size: 0.95rem; color: var(--ir-muted); }
.ir-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.ir-date { margin: 0; color: var(--ir-muted); font-weight: 500; }
.ir-grid--portraits .wp-block-post-featured-image img { border-radius: 50%; }
.ir-grid--portraits .wp-block-post { text-align: center; }
@media (max-width: 1024px) {
	.ir-grid--4 .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.ir-grid--3 .wp-block-post-template,
	.ir-grid--4 .wp-block-post-template { grid-template-columns: 1fr !important; }
	.ir-grid--portraits .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
/* Runway grid: the newest story leads at double size (first query on the page, so the
   Brit Olivia column snippet keeps wrapping it with her sidebar, as on today's archive). */
.ir-grid--runway .ir-lead-only { display: none; }
body:not(.paged) .ir-grid--runway .wp-block-post:first-child { grid-column: span 2; grid-row: span 2; }
body:not(.paged) .ir-grid--runway .wp-block-post:first-child .wp-block-post-featured-image { aspect-ratio: 4 / 5 !important; }
body:not(.paged) .ir-grid--runway .wp-block-post:first-child .ir-card__title { font-size: clamp(1.8rem, 3.2vw, 2.75rem); line-height: 1.05; }
body:not(.paged) .ir-grid--runway .wp-block-post:first-child .ir-lead-only { display: block; margin-bottom: 10px; font-size: 1.05rem; }
@media (max-width: 600px) {
	body:not(.paged) .ir-grid--runway .wp-block-post:first-child { grid-column: auto; grid-row: auto; }
}
.ir-empty {
	margin: 0;
	padding: clamp(28px, 4vw, 44px) 24px;
	text-align: center;
	font-style: italic;
	color: var(--ir-muted);
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
}
.ir-pagination { margin-top: clamp(28px, 4vw, 44px); font-family: var(--ir-interface); }

/* Around NYC band */
.ir-section--band {
	margin-top: var(--ir-section);
	padding: clamp(32px, 5vw, 64px) clamp(20px, 4vw, 56px);
	background: var(--ir-band);
	color: #fcfbf9;
}
.ir-section--band .ir-section__head { border-top-color: rgba(252, 251, 249, 0.6); }
.ir-section--band .ir-section__dek,
.ir-section--band .ir-date { color: rgba(252, 251, 249, 0.72); }
.ir-section--band .ir-empty { border-color: rgba(252, 251, 249, 0.3); color: rgba(252, 251, 249, 0.8); }

/* For Models / For Designers */
.ir-apply { padding-block: var(--ir-section) 0; }
.ir-apply__cols { gap: var(--ir-gap); margin: 0; }
.ir-panel {
	padding: clamp(28px, 4vw, 56px);
	border: 1px solid var(--ir-rule);
	scroll-margin-top: 120px;
}
.ir-panel--dark { background: var(--ir-band); color: #fcfbf9; border-color: var(--ir-band); }
.ir-panel--dark .ir-kicker { color: var(--ir-accent); }
.ir-panel__title { margin: 4px 0 14px; font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.05; }
.ir-button .wp-block-button__link,
.ip-button {
	display: inline-block;
	padding: 14px 26px;
	border: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-family: var(--ir-interface);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.ir-button .wp-block-button__link:hover,
.ip-button:hover { background: var(--ir-accent); border-color: var(--ir-accent); color: #fff; }

/* Fashion Calendar list (Calendar module output) */
.ic-cal { margin: 0; padding: 0; list-style: none; }
.ic-cal__month {
	margin: 28px 0 0;
	font-family: var(--ir-interface);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ir-accent);
}
.ic-cal__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto;
	gap: 16px 24px;
	align-items: baseline;
	padding: 18px 0;
	border-bottom: 1px solid color-mix(in srgb, currentColor 25%, transparent);
}
.ic-cal__date { font-family: var(--ir-interface); font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.85rem; }
.ic-cal__day { display: block; font-size: 2rem; line-height: 1; letter-spacing: 0; }
.ic-cal__title { margin: 0; font-size: 1.3rem; line-height: 1.2; }
.ic-cal__meta { margin: 4px 0 0; color: var(--ir-muted); font-size: 0.95rem; }
.ic-cal__cta a { font-family: var(--ir-interface); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ir-accent); }
@media (max-width: 600px) {
	.ic-cal__item { grid-template-columns: 64px minmax(0, 1fr); }
	.ic-cal__cta { grid-column: 2; }
}

/* Submit paths (Submissions module output) */
.is-paths { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--ir-gap); margin: 0; padding: 0; list-style: none; }
.is-path { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; border: 1px solid var(--ir-rule); }
.is-path__title { margin: 0; font-size: 1.4rem; line-height: 1.15; }
.is-path__text { margin: 0; color: var(--ir-muted); font-size: 0.95rem; flex: 1; }
.is-path__cta { margin: 0; }
.is-path__cta a { font-family: var(--ir-interface); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ir-accent); }
.is-path__cta a::after { content: " \2192"; }

/* Section pages and forms */
.iconic-runway--page .ir-masthead--page { border-bottom: 0; }
.ir-lede { font-size: clamp(1.15rem, 1.8vw, 1.4rem); line-height: 1.5; }
.ip-form { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--ir-rule); }
.ip-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; }
.ip-field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ip-field--wide { grid-column: 1 / -1; }
.ip-field label { font-family: var(--ir-interface); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.ip-field input:not([type="checkbox"]),
.ip-field select,
.ip-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, currentColor 45%, transparent);
	border-radius: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 16px; /* no iOS zoom */
}
.ip-field--check { flex-direction: row; align-items: flex-start; gap: 10px; }
.ip-field--check input { margin-top: 4px; width: 20px; height: 20px; flex: 0 0 auto; }
.ip-field--check label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 0.95rem; }
.ip-help { color: var(--ir-muted); }
.ip-req { color: var(--ir-accent); }
.ip-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ip-form__actions { margin-top: 24px; }
.ip-notice { padding: 14px 18px; border-left: 3px solid var(--ir-accent); background: color-mix(in srgb, currentColor 5%, transparent); }
.ip-notice--sent { border-left-color: #1e7a46; }
@media (max-width: 600px) {
	.ip-form__grid { grid-template-columns: 1fr; }
}

/* The theme's sticky header includes the large Style section block (~300px). On Runway views the
   hub masthead and section nav replace it; the main menu's Iconic Style dropdown remains. */
body.iconic-runway-view .iom-section { display: none; }

/* Paginated archive pages show only the Runway list. */
body.paged .ir-hub-only { display: none; }
