/* Homepage content layout; shared colors/header/footer live in design-system.css. */
.itv-home { padding:20px 0 12px;background:linear-gradient(#f2f9ff 0,#fff 570px); }
.itv-hero-grid { display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start; }
.itv-hero-support { display:grid;gap:16px;align-self:start; }
.itv-story { min-width:0;overflow:hidden;background:#fff;border:1px solid var(--itv-line);border-radius:7px;box-shadow:0 3px 10px #244e7b04; }
.itv-story-media,.itv-story-media>a { display:block;min-width:0; }
.itv-featured-media { position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--itv-surface-alt); }
.itv-featured-media img { display:block;width:100%;height:100%;object-fit:cover;object-position:center; }
.itv-media-hero,.itv-media-mini,.itv-media-category,.itv-media-compact { aspect-ratio:104/67; }
.itv-media-side { aspect-ratio:4/3; }
.itv-media-placeholder { position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#e7f5ff,#dce7fb);color:var(--itv-accent); }
.itv-media-placeholder svg { width:64px;height:64px; }
.itv-story-copy { padding:14px;min-width:0; }
.itv-story h1,.itv-story h2,.itv-story h3 { margin:0 0 8px;line-height:1.24;overflow-wrap:anywhere; }
.itv-story h3 { font-size:18px; }
.itv-story p { font-size:13px;line-height:1.5;color:var(--itv-muted);margin:0 0 14px; }
/* Keep full text in the markup; visually truncate card copy after three lines. */
.itv-story h1,.itv-story h2,.itv-story h3,.itv-story-copy>p {
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;
}
.itv-story-card,.itv-story-mini,.itv-story-category { display:flex;flex-direction:column; }
.itv-story-card .itv-story-copy,.itv-story-mini .itv-story-copy,.itv-story-category .itv-story-copy,.itv-story-side .itv-story-copy { display:flex;flex-direction:column;flex:1; }
.itv-story-card h3,.itv-story-mini h3,.itv-story-category h3,.itv-story-side h2,.itv-story-copy>p { min-height:3lh; }
.itv-story-card .itv-story-meta,.itv-story-mini .itv-story-meta,.itv-story-category .itv-story-meta,.itv-story-side .itv-story-meta { margin-top:auto; }
.itv-story-copy .itv-category-badge { align-self:flex-start; }
.itv-category-badge { display:inline-block;background:var(--itv-accent);color:#fff!important;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.2px;margin-bottom:10px; }
.itv-category-badge:hover { background:var(--itv-accent-hover); }
.itv-story-hero .itv-story-copy { padding:20px 22px; }
.itv-story-hero h1 { font-size:clamp(26px,2.4vw,36px);line-height:1.12; }
.itv-story-hero p { max-width:56ch;font-size:14px; }
.itv-story-hero .itv-story-meta { display:inline-flex;margin-right:20px; }
.itv-read-button,.itv-deal-button { display:inline-flex;gap:14px;align-items:center;justify-content:center;background:var(--itv-accent);color:#fff!important;border-radius:6px;font-size:12px;font-weight:700;padding:11px 18px; }
.itv-read-button:hover,.itv-deal-button:hover { background:var(--itv-accent-hover); }
.itv-story-side { display:grid;grid-template-columns:48% minmax(0,1fr);align-items:stretch; }
.itv-story-side .itv-story-media>a,.itv-story-side .itv-media-side { height:100%; }
.itv-story-side .itv-story-copy { padding:14px; }
.itv-story-side h2 { font-size:20px; }
.itv-story-side p { font-size:13px; }
.itv-story-meta { display:flex;align-items:center;gap:20px;flex-wrap:wrap;color:var(--itv-muted);font-size:11px;line-height:1.4; }
.itv-story-meta time { display:inline-flex;align-items:center;gap:6px; }
.itv-story-meta time:before { content:'';width:10px;height:11px;border:1px solid currentColor;border-radius:2px;display:inline-block;background:linear-gradient(transparent 3px,currentColor 3px,currentColor 4px,transparent 4px); }
.itv-story-meta a { display:inline-flex;gap:5px;align-items:center; }
.itv-review-score { color:#5a3c00;font-weight:700;font-size:12px;margin:10px 0; }
.itv-review-score>span { color:#a96000;font-size:16px; }
.itv-review-score small { color:var(--itv-muted);font-weight:400; }
.itv-home-compare:empty { display:none; }
.itv-home-compare { margin-top:8px; }
.itv-category-shortcuts { display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px;margin:18px 0 24px; }
.itv-category-shortcuts a { display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 6px;background:var(--itv-surface);border:1px solid #edf2f9;border-radius:6px;font-size:12px;font-weight:700;text-align:center; }
.itv-category-shortcuts a:hover { background:#e6f1ff;border-color:#b1d1ff; }
.itv-category-shortcuts span { display:flex;color:var(--itv-accent); }
.itv-category-shortcuts a:nth-child(3) span { color:#007673; }
.itv-category-shortcuts a:nth-child(4) span,.itv-category-shortcuts a:nth-child(7) span,.itv-category-shortcuts a:nth-child(8) span { color:#18345d; }
.itv-category-shortcuts a:nth-child(5) span { color:#d63558; }
.itv-home-section { margin:0 0 26px; }
.itv-section-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px; }
.itv-section-heading>div { display:flex;align-items:baseline;gap:16px;min-width:0; }
.itv-section-heading h2 { font-size:25px;line-height:1.2;margin:0; }
.itv-section-heading p { font-size:11px;line-height:1.5;color:var(--itv-muted);margin:0; }
.itv-section-heading>a { flex-shrink:0;font-size:12px;font-weight:600;color:var(--itv-accent); }
.itv-story-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.itv-section-pair { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px; }
.itv-section-pair .itv-section-heading>div { display:block; }
.itv-section-pair .itv-section-heading p { margin-top:5px; }
.itv-grid-mini { gap:12px; }
.itv-story-mini .itv-story-copy { padding:10px; }
.itv-story-mini h3 { font-size:13px;line-height:1.35; }
.itv-story-mini .itv-story-meta { font-size:10px;gap:8px; }
.itv-category-sections { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:20px 0 24px;border-top:1px solid var(--itv-line);background:linear-gradient(#f5faff,#fff); }
.itv-category-section { min-width:0; }
.itv-category-section+.itv-category-section { border-left:1px solid var(--itv-line);padding-left:24px; }
.itv-category-stories { display:grid;grid-template-columns:48% minmax(0,1fr);gap:12px;align-items:start; }
.itv-story-category .itv-story-copy { padding:10px; }
.itv-story-category h3 { font-size:14px; }
.itv-story-category .itv-story-meta { font-size:10px;gap:5px; }
.itv-compact-list { display:grid;gap:12px; }
.itv-story-compact { display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;border:0;border-radius:0;box-shadow:none;background:transparent; }
.itv-story-compact .itv-story-copy { padding:0; }
.itv-story-compact .itv-featured-media { border-radius:4px; }
.itv-story-compact h3 { font-size:12px;line-height:1.4;letter-spacing:-.02em;margin:0; }
.itv-more-category-grid { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px; }
.itv-more-category-grid>a { display:flex;gap:12px;align-items:center;padding:16px 12px;border:1px solid var(--itv-line);border-radius:6px;background:#f0f7ff; }
.itv-more-category-grid span { color:var(--itv-accent);display:flex; }
.itv-more-category-grid h3 { font-size:13px;margin:0 0 5px; }
.itv-more-category-grid p { font-size:10px;margin:0;color:var(--itv-muted);line-height:1.45; }
.itv-deal-grid { display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px; }
.itv-deal { background:#f8fbff;border:1px solid var(--itv-line);border-radius:6px;padding:8px;text-align:center;min-width:0; }
.itv-deal h3 { font-size:12px;margin:10px 0 8px;line-height:1.35; }
body.home .itv-deal .deal-card-details { justify-content:center;gap:5px; }
body.home .itv-deal .deal-price { font-size:14px; }
body.home .itv-deal .deal-card-details small { font-size:10px; }
.itv-deal-button { display:flex;width:100%;padding:8px;font-size:11px; }
.itv-empty { padding:50px 0; }
@media(min-width:768px) and (max-width:1199px) {
.itv-hero-grid { grid-template-columns:1.15fr 1fr; }
.itv-story-side h2 { font-size:17px; }
.itv-story-side p { font-size:12px; }
.itv-story-side { grid-template-columns:44% minmax(0,1fr); }
.itv-category-shortcuts { gap:8px; }
.itv-category-shortcuts a { font-size:11px; }
.itv-section-pair { grid-template-columns:1fr;gap:0; }
.itv-grid-mini { gap:16px; }
.itv-story-mini h3 { font-size:16px; }
.itv-category-sections { grid-template-columns:1fr;gap:24px; }
.itv-category-section+.itv-category-section { border-left:0;border-top:1px solid var(--itv-line);padding:20px 0 0; }
.itv-category-stories { grid-template-columns:34% minmax(0,1fr); }
.itv-compact-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
.itv-more-category-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.itv-deal-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:767px) {
.itv-home { padding-top:16px; }
.itv-hero-grid { grid-template-columns:1fr;gap:16px; }
.itv-story-hero .itv-story-copy { padding:18px; }
.itv-story-hero h1 { font-size:28px; }
.itv-hero-support { gap:12px; }
.itv-story-side { grid-template-columns:42% minmax(0,1fr); }
.itv-story-side h2 { font-size:18px; }
.itv-story-side .itv-story-copy { padding:12px; }
.itv-story-side p { font-size:12px; }
.itv-category-shortcuts { grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 24px; }
.itv-category-shortcuts a { flex-direction:row;justify-content:center;font-size:12px;padding:13px 6px; }
.itv-category-shortcuts svg { width:24px;height:24px; }
.itv-section-heading { gap:12px;align-items:baseline; }
.itv-section-heading>div { display:block; }
.itv-section-heading h2 { font-size:23px; }
.itv-section-heading p { margin-top:5px;max-width:28ch; }
.itv-section-heading>a { font-size:11px; }
.itv-story-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.itv-section-pair { grid-template-columns:1fr;gap:0; }
.itv-story-mini h3 { font-size:15px; }
.itv-story-mini .itv-story-meta { font-size:11px; }
.itv-category-sections { grid-template-columns:1fr;gap:24px; }
.itv-category-section+.itv-category-section { border-left:0;border-top:1px solid var(--itv-line);padding:20px 0 0; }
.itv-category-stories { grid-template-columns:48% minmax(0,1fr);gap:12px; }
.itv-story-category h3 { font-size:15px; }
.itv-more-category-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.itv-more-category-grid>a { padding:14px 10px;gap:10px; }
.itv-deal-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
}
@media(max-width:479px) {
.itv-grid-card { grid-template-columns:1fr; }
.itv-story-side { grid-template-columns:124px minmax(0,1fr); }
.itv-story-side h2 { font-size:16px; }
.itv-story-side .itv-category-badge { margin-bottom:7px; }
.itv-story-side p { display:none; }
.itv-story-side .itv-story-meta { font-size:10px;gap:8px; }
.itv-story-hero .itv-story-meta { display:flex;margin:0 0 14px; }
.itv-story-compact { grid-template-columns:56px minmax(0,1fr);gap:8px; }
.itv-story-compact h3 { font-size:11px; }
.itv-more-category-grid h3 { font-size:12px; }
.itv-more-category-grid p { font-size:9px; }
.itv-category-shortcuts a { font-size:11px;gap:6px; }
}
