/*
Theme Name: IBT — InnovationBitsTech
Theme URI: https://innovationbitstech.com
Author: EndGame
Author URI: https://innovationbitstech.com
Description: Lightweight custom theme for InnovationBitsTech — Technology. Crypto. Innovation. Built from the approved homepage preview v2. No builders, no external dependencies.
Version: 1.3.2
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ibt
*/

:root{
  --navy:#081226; --navy2:#0c1c38; --ink:#101828; --muted:#5b6b82; --line:#e4e9f2;
  --cyan:#00b7f1; --cyan-d:#0090c8; --green:#12b76a; --amber:#f79009; --bg:#f6f8fb; --card:#ffffff;
  --radius:14px;
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-head: "Avenir Next", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.55}
h1,h2,h3,h4,.logo-txt{font-family:var(--font-head);letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Header */
header.site-header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 14px rgba(3,10,24,.35)}

/* Top bar (v1.2): live crypto ticker (CoinGecko), key shopping dates, ET clock.
   Lives inside the sticky header so it travels with it. */
.ibt-topbar{background:var(--navy2);border-bottom:1px solid rgba(255,255,255,.08);font-size:12px;color:#c3d3ea}
.ibt-topbar .wrap{display:flex;align-items:center;gap:6px 22px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap}
.ibt-ticker{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;min-width:0}
.ibt-coin{white-space:nowrap;font-weight:700;letter-spacing:.02em;color:#fff}
.ibt-coin .ibt-price{color:#fff;font-weight:600}
.ibt-chg{font-weight:600}
.ibt-chg.up{color:#12b76a}
.ibt-chg.down{color:#f04438}
.ibt-src{color:#8fa8c9;font-size:11px;white-space:nowrap}
.ibt-src:hover{color:var(--cyan);text-decoration:underline}
.ibt-events{margin-left:auto;margin-right:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}
.ibt-clock{white-space:nowrap}
.ibt-clock-time{font-variant-numeric:tabular-nums}

.hbar{display:flex;align-items:center;gap:26px;padding:14px 0}
.logo{display:flex;align-items:center;gap:11px}
.logo img,.custom-logo{width:268px;height:auto}
.menu-toggle{display:none}
.logo-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--cyan),#2563eb);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:16px;letter-spacing:.02em;color:#fff;flex:none}
.logo-txt{font-size:21px;font-weight:700;line-height:1;color:#fff}
.logo-txt span{color:var(--cyan)}
.tagline{font-size:10.5px;color:#9db4d4;letter-spacing:.16em;text-transform:uppercase;margin-top:3px}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:22px;list-style:none;font-size:14px;font-weight:500;color:#dbe6f5}
nav.main a:hover{color:var(--cyan)}
.hbtns{display:flex;gap:10px;align-items:center;margin-left:8px}
.news-btn{background:var(--cyan);color:#03222f;font-weight:700;font-size:13.5px;padding:9px 16px;border-radius:999px;border:none;cursor:pointer;display:inline-block}
.news-btn:hover{background:#33c8f7}
.search-form{display:flex;align-items:center;background:#0c1c38;border:1px solid #28406a;border-radius:999px;padding:3px}
.search-form input[type="search"]{background:transparent;border:none;color:#fff;font-size:13px;padding:5px 10px;width:130px;outline:none}
.search-form input[type="search"]::placeholder{color:#8fa8c9}
.search-form button{background:var(--cyan);border:none;color:#03222f;font-weight:700;font-size:12.5px;border-radius:999px;padding:6px 12px;cursor:pointer}

/* Hero */
.hero{padding:28px 0 8px}
.hero-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:20px}
.hero-main{background-color:var(--navy2);background-size:cover;background-position:center;border-radius:var(--radius);color:#fff;padding:34px;min-height:340px;display:flex;flex-direction:column;justify-content:flex-end}
.kicker{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(0,183,241,.16);color:#6fd8ff;width:fit-content}
.kicker.on-light{background:#eef6ff;color:#175cd3}
.kicker.green{background:rgba(18,183,106,.18);color:#4ce0a0}
.kicker.green.on-light{background:#ecfdf3;color:#027a48}
.kicker.amber{background:rgba(247,144,9,.18);color:#ffb45e}
.kicker.amber.on-light{background:#fffaeb;color:#b54708}
.hero-main h1,.hero-main h2{font-size:36px;line-height:1.12;margin:14px 0 10px;font-weight:700}
.hero-main p{color:#c3d3ea;font-size:15.5px;max-width:56ch}
.meta{margin-top:16px;font-size:12.5px;color:#8fa8c9;display:flex;gap:16px;flex-wrap:wrap}
.hero-side{display:grid;gap:20px}
.hero-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.hero-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(8,18,38,.12)}
.hero-card .body{padding:18px 20px 20px;display:flex;flex-direction:column;justify-content:flex-end;flex:1}
.hero-card h3{font-size:18.5px;line-height:1.25;margin:9px 0 6px}
.hero-card p{font-size:13.5px;color:var(--muted)}
.hero-card .thumb-img{height:110px}

/* Sections */
section.blk{padding:30px 0 6px}
.sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:16px}
.sec-head h2{font-size:23px;font-weight:700}
.sec-head .bar{width:34px;height:4px;border-radius:2px;background:var(--cyan);align-self:center;flex:none}
.sec-head.green .bar{background:var(--green)} .sec-head.amber .bar{background:var(--amber)}
.sec-head a{margin-left:auto;font-size:13.5px;font-weight:600;color:var(--cyan-d)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(8,18,38,.12)}
.card .body{padding:16px;display:flex;flex-direction:column;gap:7px;flex:1}
.card h3{font-size:16.5px;line-height:1.3}
.card h3 a:hover{color:var(--cyan-d)}
.card p{font-size:13.5px;color:var(--muted);flex:1}
.card .meta{color:#8494ab;margin-top:4px}
.thumb-img{width:100%;height:150px;object-fit:cover;display:block}
.card .kicker{align-self:flex-start}

/* Latest news list */
.news-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:6px 20px}
.news-item{display:flex;gap:18px;padding:13px 0;border-bottom:1px solid var(--line);align-items:baseline}
.news-item:last-child{border-bottom:none}
.news-item time{font-size:12px;color:var(--cyan-d);font-weight:700;min-width:92px}
.news-item h3{font-size:15.5px;font-weight:600}
.news-item h3 a:hover{color:var(--cyan-d)}
.news-item .pill{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.news-empty{padding:16px 0;color:var(--muted);font-size:14px}

/* Disclosure + badges (shared with ibt-core output) */
.disc{font-size:11.5px;color:var(--muted);background:#f0f4fa;border:1px dashed #c3d2e8;border-radius:10px;padding:8px 12px;margin-bottom:14px}
.badge{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#eef6ff;color:#175cd3;padding:4px 8px;border-radius:999px;width:fit-content}
.badge.verify{background:#ecfdf3;color:#027a48}
.price-btn{display:block;text-align:center;background:var(--navy);color:#fff;font-weight:600;font-size:14px;padding:11px;border-radius:10px;margin-top:6px}
.price-btn:hover{background:var(--navy2)}
.verified{font-size:11.5px;color:#027a48;font-weight:600}

/* Deals */
.deal{background:var(--navy);border-radius:var(--radius);padding:22px;color:#fff;position:relative;overflow:hidden}
.deal:after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;border-radius:50%;background:rgba(247,144,9,.25)}
.deal h3{font-size:17px;margin:10px 0 6px;line-height:1.3}
.deal p{font-size:13px;color:#c3d3ea}
.deal .go{display:inline-block;margin-top:12px;background:var(--amber);color:#231300;font-weight:700;font-size:13px;padding:8px 14px;border-radius:999px;position:relative;z-index:1}
.deal.coming-soon{background:var(--navy2)}
.deal.coming-soon:after{background:rgba(0,183,241,.18)}

/* Newsletter */
.newsletter{margin:34px 0;background:linear-gradient(120deg,var(--navy) 55%,#0d2b52);border-radius:18px;color:#fff;padding:36px;text-align:center}
.newsletter h2{font-size:26px;margin-bottom:8px}
.newsletter p{color:#c3d3ea;max-width:58ch;margin:0 auto 18px;font-size:14.5px}
.nl-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.nl-form input{width:min(360px,100%);padding:12px 16px;border-radius:999px;border:none;font-size:14px}
.nl-form button{background:var(--cyan);border:none;color:#03222f;font-weight:700;padding:12px 22px;border-radius:999px;cursor:pointer;font-size:14px}
.nl-note{font-size:12px;color:#8fa8c9;margin-top:12px}

/* Article (single) — v1.3 reading experience: 720px column, wide
   hero frame, accent-bar headings, Bit Take and sources boxes. */
.article-head{padding:38px 0 4px;max-width:720px;margin:0 auto}
.article-head .kicker{text-decoration:none}
a.kicker:hover{text-decoration:underline}
.article-head h1{font-size:38px;line-height:1.12;margin:16px 0 14px}
.article-head .lede{font-size:19px;line-height:1.55;color:#43536b}
.byline{display:flex;gap:10px 18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:20px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center}
.byline .author{font-weight:700;color:var(--ink)}
.byline .read-time{font-weight:600}
.article-figure{max-width:940px;margin:26px auto;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(8,18,38,.14)}
.article-figure img{width:100%;display:block;aspect-ratio:16/9;object-fit:cover}
.article-body{max-width:720px;margin:0 auto;font-size:19px;line-height:1.75}
.article-body p{margin:0 0 22px}
.article-body h2{font-size:27px;line-height:1.25;margin:38px 0 14px;padding-top:16px;position:relative;scroll-margin-top:120px}
.article-body h2::before{content:"";position:absolute;top:0;left:0;width:34px;height:4px;border-radius:2px;background:var(--cyan)}
.article-body h3{font-size:21.5px;line-height:1.3;margin:28px 0 10px;scroll-margin-top:120px}
.article-body>ul{margin:0 0 22px;padding-left:2px;list-style:none}
.article-body>ul>li{position:relative;padding-left:24px;margin-bottom:9px}
.article-body>ul>li::before{content:"";position:absolute;left:2px;top:.66em;width:7px;height:7px;border-radius:50%;background:var(--cyan)}
.article-body>ol{margin:0 0 22px 24px}
.article-body>ol>li{margin-bottom:9px}
.article-body>ol>li::marker{color:var(--cyan-d);font-weight:700}
.article-body a{color:var(--cyan-d);text-decoration:underline}
.article-body blockquote{border-left:4px solid var(--cyan);padding:6px 0 6px 18px;margin:0 0 22px;color:var(--muted);font-size:20px;line-height:1.6}
.article-body table{width:100%;border-collapse:collapse;margin:0 0 22px;font-size:15px}
.article-body th,.article-body td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
.article-body th{background:#f0f4fa}
.article-body tbody tr:nth-child(even) td{background:#f8fafd}
.article-body details{border:1px solid var(--line);border-radius:12px;padding:13px 18px;margin:0 0 12px;background:#fff}
.article-body details summary{cursor:pointer;font-weight:600}
.article-body details p:last-child{margin-bottom:4px}
.article-foot{max-width:720px;margin:0 auto}
.article-tags{margin-top:26px;display:flex;gap:8px;flex-wrap:wrap}
.article-tags a{font-size:12px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 11px;color:var(--muted);transition:border-color .2s ease,color .2s ease}
.article-tags a:hover{border-color:var(--cyan);color:var(--cyan-d)}
.author-box{display:flex;gap:16px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:30px 0}
.author-box .author-avatar{border-radius:50%;flex:none}
.author-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.author-name{font-family:var(--font-head);font-size:17px;font-weight:700;margin:2px 0 4px}
.author-bio{font-size:14px;color:var(--muted);line-height:1.55}
.article-nav{display:flex;gap:14px;margin:28px 0 4px;flex-wrap:wrap}
.article-nav a{flex:1;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;font-size:14px;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}
.article-nav a:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(8,18,38,.10)}
.article-nav .next{text-align:right}
.article-nav .dir{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:700;margin-bottom:4px}

/* The Bit Take — the closing box the content step wraps around the
   final section of news posts: gradient border + bolt icon. */
.bit-take{position:relative;border:1.5px solid transparent;border-radius:16px;background:linear-gradient(#ffffff,#ffffff) padding-box,linear-gradient(120deg,var(--cyan),var(--green)) border-box;padding:20px 22px 20px 58px;margin:32px 0}
.bit-take::before{content:"";position:absolute;left:20px;top:20px;width:24px;height:24px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23f79009'%3E%3Cpath d='M13 2 4.5 13.5H11L9.8 22 19 9.8h-6.5z'/%3E%3C/svg%3E")}
.bit-take h2,.bit-take h3{margin-top:0;padding-top:0}
.bit-take h2::before{content:none}
.bit-take p:last-child{margin-bottom:0}
.bit-take .bit-take-label{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-d);margin-bottom:6px}

/* Sources box (content-step wrapper + ibt-core [ibt_sources] output) */
.sources-box,.article-body .ibt-sources,.article-foot .ibt-sources{background:#f6f9fd;border:1px solid var(--line);border-radius:12px;padding:16px 20px;font-size:14px;color:var(--muted);margin:26px 0}
.ibt-sources h3{font-size:15px;margin:0 0 8px;color:var(--ink)}
.ibt-sources ul{margin:0;padding-left:18px}
.ibt-sources li{margin-bottom:5px}

/* ibt-core product card v1.2 / comparison (plugin output, styled
   here and mirrored in the plugin stylesheet). Compact card: media
   box (4:3, image or branded placeholder) + slim content + CTA
   rail; the buy button's stretched-link overlay makes the whole
   card follow the /go/ link. The three-zone row layout applies
   inside article bodies at >=900px — and, since theme v1.3.2, in
   the homepage Featured Gadgets stack (.ibt-featured-products):
   front-page.php renders those cards with the plugin's own
   renderer at full section width, because a .grid3 cell (~375px)
   cannot hold the card's fixed columns (150px media + 170px CTA
   rail would leave ~50px for the content). Everywhere else the
   card stacks. */
.ibt-product-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;margin:0 0 20px;text-align:left;transition:border-color .18s ease,box-shadow .18s ease}
.ibt-product-card:hover{border-color:#b9cbe4;box-shadow:0 6px 18px rgba(3,10,24,.08)}
.ibt-card-media{background:#eef3f9;aspect-ratio:4/3;display:flex;flex:none}
.ibt-card-media a{display:flex;flex:1;min-width:0}
.ibt-card-img{width:100%;height:100%;object-fit:contain;padding:10px;display:block}
.ibt-card-ph{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy),#0d2b52);color:#6fd8ff}
.ibt-ph-initial{position:absolute;right:12px;bottom:0;font-family:var(--font-head);font-size:48px;font-weight:700;line-height:1;color:rgba(255,255,255,.09)}
.ibt-product-card .body{padding:12px 14px;display:flex;flex-direction:column;gap:6px;flex:1}
.ibt-product-card h3,.ibt-product-card h4{font-size:16.5px;line-height:1.3}
.ibt-product-card h3 a:hover,.ibt-product-card h4 a:hover{color:var(--cyan-d)}
.ibt-product-card p{font-size:13.5px;color:var(--muted)}
.ibt-product-card .ibt-brand{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8494ab}
.ibt-card-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ibt-spec-chips{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:2px 0 0;padding:0}
.ibt-spec-chips li{font-size:11.5px;background:#f0f4fa;border:1px solid #e1e9f4;border-radius:999px;padding:4px 9px;color:#43536b}
.ibt-spec-chips b{color:var(--ink);font-weight:600}
.ibt-card-cta{background:#f4f8fd;border-top:1px solid var(--line);padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ibt-card-cta .price-btn{margin-top:0}
/* Whole-card click (stretched link on the buy button, as in the
   plugin stylesheet): a click anywhere on the card follows /go/. */
.ibt-product-card .ibt-card-cta .price-btn::after{content:"";position:absolute;inset:0}
.ibt-unavailable{font-size:13px;color:#b54708;font-weight:600}
/* Homepage Featured Gadgets stack (front-page.php, v1.3.2): the
   featured products as full-width rows, one per line, so each card
   gets the width an article column would give it. */
.ibt-featured-products{display:flex;flex-direction:column;gap:18px}
.ibt-featured-products .ibt-product-card{margin:0}
@media (min-width:900px){
  .article-body .ibt-product-card,.ibt-featured-products .ibt-product-card{display:grid;grid-template-columns:150px minmax(0,1fr) 170px}
  .article-body .ibt-card-media,.ibt-featured-products .ibt-card-media{align-self:start}
  .article-body .ibt-card-cta,.ibt-featured-products .ibt-card-cta{border-top:none;border-left:1px solid var(--line)}
}
.ibt-compare-wrap{overflow-x:auto;margin:0 0 20px}
table.ibt-compare{width:100%;border-collapse:collapse;font-size:14px;background:var(--card)}
table.ibt-compare th,table.ibt-compare td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
table.ibt-compare th{background:#f0f4fa}
table.ibt-compare th:first-child{position:sticky;left:0;z-index:2;background:#e9eff8;min-width:110px}
table.ibt-compare tbody tr:nth-child(even) td{background:#f8fafd}
table.ibt-compare .ibt-compare-buy td{vertical-align:middle}
table.ibt-compare .ibt-compare-buy .price-btn{margin-top:0;white-space:nowrap}
.ibt-disclosure{font-size:12px;color:var(--muted);background:#f0f4fa;border:1px dashed #c3d2e8;border-radius:10px;padding:10px 14px;margin:18px 0}

/* Archive / pagination / 404 */
.page-head{padding:32px 0 4px}
.page-head h1{font-size:30px;margin-bottom:6px}
.page-head p{color:var(--muted);max-width:65ch}
.pagination{margin:26px 0 6px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination a,.pagination span{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600}
.pagination .current{background:var(--navy);color:#fff;border-color:var(--navy)}
.error-hero{background:var(--navy2);border-radius:var(--radius);color:#fff;padding:44px 34px;margin:30px 0;text-align:center}
.error-hero h1{font-size:40px;margin-bottom:10px}
.error-hero p{color:#c3d3ea;max-width:52ch;margin:0 auto 20px}

/* Footer */
footer.site-footer{background:#050b18;color:#9db4d4;margin-top:40px;padding:38px 0 26px;font-size:13.5px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px}
footer.site-footer h4{color:#fff;font-size:14px;margin-bottom:10px;font-family:var(--font-head)}
footer.site-footer ul{list-style:none}
footer.site-footer li{list-style:none;margin-bottom:7px}
footer.site-footer a:hover{color:var(--cyan)}
footer.site-footer .flogo{margin-bottom:10px}
footer.site-footer .fdisc{font-size:12px;color:#637b9c;max-width:44ch;margin-top:12px}
.fbot{border-top:1px solid #14263f;margin-top:26px;padding-top:16px;font-size:12px;color:#637b9c;display:flex;gap:18px;flex-wrap:wrap}

/* Mobile bottom navigation (rendered in footer.php; visible only at <=900px, see the responsive block) */
.ibt-bottom-nav{display:none}
@media print{.ibt-bottom-nav{display:none}}

/* Responsive: SIEMPRE una sola columna en móvil (regla del proyecto) */
@media (max-width:900px){
  /* v1.3.1: the header is NOT sticky on mobile — the top bar (and
     the logo bar with it; both live in the one sticky header unit)
     scrolls away with the page. Persistent mobile navigation is
     the fixed bottom nav below, which is untouched. Desktop keeps
     the sticky header exactly as approved. */
  header.site-header{position:static}
  .ibt-topbar{font-size:11px}
  .ibt-topbar .wrap{gap:4px 14px;padding-top:5px;padding-bottom:5px}
  .ibt-ticker{gap:4px 12px}
  .hero-grid,.grid2,.grid3,.grid4,.fgrid{grid-template-columns:1fr}
  .logo img,.custom-logo{width:168px;height:auto}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;background:transparent;border:1px solid #28406a;border-radius:10px;color:#fff;padding:8px 10px;cursor:pointer;line-height:0}
  .menu-toggle:hover{color:var(--cyan);border-color:var(--cyan)}
  nav.main{display:none;margin-left:0}
  header.site-header.menu-open nav.main{display:block;flex:0 0 100%;order:99;background:var(--navy2);border-radius:12px;padding:6px 14px}
  nav.main ul{flex-direction:column;gap:0}
  nav.main li a{display:block;padding:12px 4px}
  .hbar{flex-wrap:wrap;gap:14px}
  body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}
  .ibt-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);border-top:1px solid rgba(255,255,255,.12)}
  .ibt-bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;color:#dbe6f5;padding:8px 2px calc(8px + env(safe-area-inset-bottom));font-size:10px;font-weight:600;line-height:1.1}
  .ibt-bottom-nav__item svg{width:24px;height:24px;flex:none}
  .ibt-bottom-nav__item:hover,.ibt-bottom-nav__item.is-active{color:var(--cyan)}
  .hero-main h1,.hero-main h2{font-size:27px}
  .hero-main{padding:24px;min-height:auto}
  .article-head h1{font-size:30px}
  .article-head .lede{font-size:17px}
  .article-body{font-size:17.5px}
  .article-body h2{font-size:24px}
  .article-figure{border-radius:14px}
  .author-box{padding:16px}
  .bit-take{padding:18px 18px 18px 52px}
  .news-item{flex-wrap:wrap;gap:6px}
  .news-item time{min-width:0}
  .news-item .pill{margin-left:0}
  .newsletter{padding:26px 20px}
  .search-form input[type="search"]{width:100px}
}

/* Very small phones: the top bar drops its center events segment so the
   ticker and the clock always fit without horizontal scroll. */
@media (max-width:640px){
  .ibt-events{display:none}
}

/* Reduced motion: no hover lifts (the buy box handles its own). */
@media (prefers-reduced-motion:reduce){
  .card,.hero-card,.article-nav a{transition:none}
  .card:hover,.hero-card:hover,.article-nav a:hover{transform:none}
}
