/*
Theme Name: Granite State Rundown — Fairy Child
Description: Fairy child theme with a featured news slider above the homepage article listing.
Template: fairy
Version: 1.0.0
Text Domain: gsr-fairy-child
*/

.gsr-featured { margin: 0 0 28px; }
.gsr-featured__heading { display:flex; align-items:center; gap:10px; margin:0 0 14px; color:#15232c; font:700 16px/1.4 Georgia,serif; letter-spacing:.04em; text-transform:uppercase; }
.gsr-featured__heading::before { content:""; display:block; width:4px; height:23px; background:#a71919; }
.gsr-featured__viewport { position:relative; overflow:hidden; background:#15232c; border-radius:5px; }
.gsr-featured__slide { display:none; position:relative; }
.gsr-featured__slide.is-active { display:block; }
.gsr-featured__link { display:block; position:relative; color:#fff !important; text-decoration:none !important; }
.gsr-featured__image { width:100%; height:360px; display:block; object-fit:cover; }
.gsr-featured__placeholder { height:360px; background:linear-gradient(135deg,#15232c,#344b5b); }
.gsr-featured__overlay { position:absolute; bottom:0; left:0; right:0; padding:65px 25px 60px; background:linear-gradient(transparent,rgba(9,15,23,.94)); }
.gsr-featured__category { display:inline-block; background:#a71919; color:white; font:700 11px/1.4 Arial,sans-serif; letter-spacing:.1em; padding:5px 8px; margin-bottom:9px; text-transform:uppercase; }
.gsr-featured__title { color:#fff !important; font:700 clamp(21px,2.8vw,32px)/1.23 Georgia,serif; margin:0; text-shadow:0 1px 2px rgba(0,0,0,.4); }
.gsr-featured__controls { position:absolute; bottom:13px; left:17px; right:17px; display:flex; align-items:center; justify-content:space-between; gap:12px; pointer-events:none; }
.gsr-featured__dots { display:flex; gap:7px; pointer-events:auto; }
.gsr-featured__dot { display:block; width:9px; height:9px; padding:0; border-radius:50%; border:1px solid #fff; background:transparent; cursor:pointer; }
.gsr-featured__dot[aria-current="true"] { background:#fff; }
.gsr-featured__arrows { display:flex; gap:7px; pointer-events:auto; }
.gsr-featured__arrow { width:32px; height:32px; padding:0; background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.75); border-radius:3px; color:#fff; font-size:22px; line-height:1; cursor:pointer; }
.gsr-featured__arrow:hover, .gsr-featured__arrow:focus-visible { background:#a71919; }
.gsr-featured__arrow:focus-visible,.gsr-featured__dot:focus-visible,.gsr-featured__link:focus-visible { outline:3px solid #fff; outline-offset:-3px; }
@media(max-width:768px) { .gsr-featured__image,.gsr-featured__placeholder { height:270px; } .gsr-featured__overlay { padding:55px 17px 58px; } .gsr-featured__title { font-size:22px; } }
@media(max-width:420px) { .gsr-featured__image,.gsr-featured__placeholder { height:240px; } .gsr-featured__title { font-size:19px; } }
