/* Abubid design inside WordPress. Load order: fonts.css → this file → ab-design.css (the original CSS, scoped).
   The original page ran with browser defaults and no theme, so the theme/Elementor resets are undone inside
   the design sections. Specificity (0,1,1) beats Hello Elementor's reset but loses to every design rule. */
body.abubid-redesign { margin: 0; padding: 0; }
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player),
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player) :where(a, button, input, h1, h2, h3, h4, h5, h6, p, ul, ol, li, label, small, em, b, svg, span, div, nav, section) {
  all: revert;
}
/* Images: undo only what the theme and Elementor add. "all: revert" would also drop the width/height attributes,
   which reserve the picture's space before a lazy-loaded image arrives. */
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player) :where(img) {
  max-width: revert; border: revert; border-radius: revert; box-shadow: revert; vertical-align: revert;
}
/* Hello's hover rule for buttons and links is (0,2,0); match it here so it can't turn buttons pink. */
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player) :where(a, button):is(:hover, :focus) {
  background-color: revert; color: revert; text-decoration: revert;
}
/* The theme sets line-height 1.5 on <body>; the original inherited the browser's "normal". */
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player) { line-height: normal; font-size: 16px; }

/* Wrapper spacing the original set inline. */
body.abubid-redesign .ab-ads-outer { padding: 40px 0 0; }
/* Stats strip keeps one row however many items are visible. */
@media (min-width: 768px) { body.abubid-redesign .ab-stats[style] { grid-template-columns: repeat(var(--ab-stat-cols, 4), 1fr); } }
/* Pages without a hero start below the fixed header. */
body.abubid-redesign.ab-offset { padding-top: 72px; }
body.abubid-redesign .ab-page-head .ab-live-bc__head { margin-bottom: 0; }
/* Sections sit edge to edge, as in the original. */
.elementor-widget[class*="elementor-widget-ab-"] > .elementor-widget-container { margin: 0; padding: 0; }
/* Fix for a bug in the original: a 5:1 banner with a 150px minimum height is at least 750px wide,
   so it overflowed the screen between 768px and ~800px. */
body.abubid-redesign .ab-ad-banner { max-width: 100%; grid-template-columns: minmax(0, 1fr); }
/* The header and player are position:fixed, so their Elementor column must take no space
   (Elementor gives every column a 1px minimum height, which pushed the page down 1px each). */
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-ab-header),
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-ab-player) { min-height: 0; }
/* Logged-in users: keep the fixed header below the WordPress admin bar instead of underneath it. */
body.admin-bar.abubid-redesign .ab-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar.abubid-redesign .ab-header { top: 46px; } }
/* "all: revert" above also cancels the HTML hidden attribute (browsers apply it as a low-priority style),
   so restore it: anything marked hidden inside the design stays hidden. */
body.abubid-redesign :where(.ab-header, .ab-hero, .ab-featured, .ab-ad-wrap, .ab-ticker, .ab-stats, .ab-guide, .ab-weekly, .ab-getapp, .ab-live-bc, .ab-partners, .ab-footer, .ab-player) [hidden] { display: none !important; }
