/*
Theme Name: CrazyiBuy GeneratePress
Theme URI: https://crazyibuy.com/
Description: Update-safe GeneratePress child theme for CrazyiBuy.
Author: CrazyiBuy
Template: generatepress
Version: 1.1.1
Text Domain: crazyibuy
*/

/*
 * CrazyiBuy Design Foundation
 *
 * Keep business logic and affiliate-link handling
 * inside crazyibuy-core. This theme controls presentation.
 */

:root {
    --cib-content-width: 1200px;

    --cib-text: #172033;
    --cib-text-muted: #647087;

    --cib-surface: #ffffff;
    --cib-surface-soft: #f6f8fb;

    --cib-border: #e1e6ee;

    --cib-primary: #2457e6;
    --cib-primary-hover: #1744c7;

    --cib-success: #147a52;
    --cib-warning: #9a6500;
    --cib-danger: #b42318;

    --cib-radius-sm: 8px;
    --cib-radius-md: 14px;
    --cib-radius-lg: 22px;

    --cib-shadow-sm:
        0 1px 2px rgba(16, 24, 40, 0.05);

    --cib-shadow-md:
        0 8px 30px rgba(16, 24, 40, 0.08);
}

html {
    scroll-behavior: smooth;
}

body {
    color: var(--cib-text);
    background: var(--cib-surface-soft);
}

a {
    text-underline-offset: 0.15em;
}

.site-header,
.main-navigation {
    background: var(--cib-surface);
}

.site-content {
    max-width: var(--cib-content-width);
    margin-left: auto;
    margin-right: auto;
}

/*
 * Generic CrazyiBuy UI components.
 * These classes will be reused by Deal pages,
 * homepage cards and comparison sections.
 */

.cib-card {
    background: var(--cib-surface);
    border: 1px solid var(--cib-border);
    border-radius: var(--cib-radius-md);
    box-shadow: var(--cib-shadow-sm);
}

.cib-card--featured {
    box-shadow: var(--cib-shadow-md);
}

.cib-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;

    min-height: 44px;
    padding: 0.72rem 1.1rem;

    border: 0;
    border-radius: var(--cib-radius-sm);

    background: var(--cib-primary);
    color: #ffffff;

    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;

    cursor: pointer;
}

.cib-button:hover,
.cib-button:focus-visible {
    background: var(--cib-primary-hover);
    color: #ffffff;
}

.cib-button:focus-visible {
    outline: 3px solid rgba(36, 87, 230, 0.25);
    outline-offset: 2px;
}

.cib-muted {
    color: var(--cib-text-muted);
}

.cib-status {
    display: inline-flex;
    align-items: center;

    padding: 0.28rem 0.6rem;

    border-radius: 999px;

    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.2;
}

.cib-status--active {
    color: var(--cib-success);
    background: rgba(20, 122, 82, 0.1);
}

.cib-status--changed,
.cib-status--expiring-soon {
    color: var(--cib-warning);
    background: rgba(154, 101, 0, 0.1);
}

.cib-status--expired,
.cib-status--paused {
    color: var(--cib-danger);
    background: rgba(180, 35, 24, 0.09);
}

.cib-verification {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;

    color: var(--cib-text-muted);
    font-size: 0.88rem;
}

.cib-disclosure {
    margin: 1rem 0;
    padding: 0.85rem 1rem;

    border: 1px solid var(--cib-border);
    border-radius: var(--cib-radius-sm);

    background: var(--cib-surface-soft);

    color: var(--cib-text-muted);
    font-size: 0.9rem;
    line-height: 1.55;
}

@media (max-width: 768px) {

    :root {
        --cib-radius-lg: 16px;
    }

    .cib-button {
        width: 100%;
    }
}


/* =========================================================
   CRAZYIBUY DEAL FRONTEND V1.1
   ========================================================= */

.cib-deal-panel {
    margin: 0 0 2rem;
    padding: clamp(1.1rem, 3vw, 1.6rem);
}

.cib-deal-panel__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.cib-deal-panel__eyebrow {
    display: block;
    margin-bottom: 0.2rem;

    color: var(--cib-text-muted);

    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.cib-deal-panel__merchant {
    font-size: 1.12rem;
    font-weight: 750;
    line-height: 1.3;
}

.cib-deal-panel__benefit {
    margin: 0 0 1.15rem;
    padding: 1rem 1.1rem;

    border-radius: var(--cib-radius-sm);

    background: var(--cib-surface-soft);
}

.cib-deal-panel__benefit span {
    display: block;

    margin-bottom: 0.25rem;

    color: var(--cib-text-muted);

    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
}

.cib-deal-panel__benefit strong {
    display: block;

    font-size: clamp(1.05rem, 2vw, 1.3rem);
    line-height: 1.4;
}

.cib-deal-details {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 0;
    margin: 0 0 1rem;

    border-top: 1px solid var(--cib-border);
    border-left: 1px solid var(--cib-border);
}

.cib-deal-detail {
    margin: 0;
    padding: 0.8rem 0.9rem;

    border-right: 1px solid var(--cib-border);
    border-bottom: 1px solid var(--cib-border);
}

.cib-deal-detail dt {
    margin: 0 0 0.18rem;

    color: var(--cib-text-muted);

    font-size: 0.78rem;
    font-weight: 650;
}

.cib-deal-detail dd {
    margin: 0;

    color: var(--cib-text);

    font-weight: 650;
}

.cib-deal-detail--price dd {
    color: var(--cib-primary);
    font-size: 1.06rem;
}

.cib-deal-detail code {
    padding: 0.15rem 0.4rem;

    border: 1px dashed var(--cib-border);
    border-radius: 5px;

    background: var(--cib-surface-soft);

    font-size: 0.92em;
    font-weight: 700;
}

.cib-verification {
    margin: 0.75rem 0 1rem;
}

.cib-deal-panel__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 0.9rem;
    margin-top: 1rem;
}

.cib-deal-panel__cta {
    min-width: 170px;
}

.cib-deal-panel__terms {
    font-size: 0.9rem;
    font-weight: 600;
}

.cib-deal-panel__notice {
    flex-basis: 100%;

    margin: 0;
    padding: 0.8rem 0.95rem;

    border: 1px solid var(--cib-border);
    border-radius: var(--cib-radius-sm);

    background: var(--cib-surface-soft);

    color: var(--cib-text-muted);
    line-height: 1.5;
}

@media (max-width: 600px) {

    .cib-deal-panel__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .cib-deal-details {
        grid-template-columns: 1fr;
    }

    .cib-deal-panel__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cib-deal-panel__terms {
        text-align: center;
    }
}


/* =========================================================
   CRAZYIBUY SITE SHELL V1.0
   ========================================================= */

.cib-home {
    margin-top: -20px;
}

.cib-home-hero {
    position: relative;
    overflow: hidden;

    margin-bottom: 3.5rem;
    padding:
        clamp(3.5rem, 8vw, 7rem)
        clamp(1.4rem, 5vw, 4rem);

    border: 1px solid var(--cib-border);
    border-radius: var(--cib-radius-lg);

    background:
        radial-gradient(
            circle at 85% 10%,
            rgba(36, 87, 230, 0.12),
            transparent 33%
        ),
        var(--cib-surface);
}

.cib-home-hero__content {
    max-width: 760px;
}

.cib-home-eyebrow {
    display: inline-block;

    margin-bottom: 0.7rem;

    color: var(--cib-primary);

    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cib-home-hero h1 {
    max-width: 720px;
    margin: 0 0 1.1rem;

    color: var(--cib-text);

    font-size: clamp(2.45rem, 6vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.045em;
}

.cib-home-lead {
    max-width: 680px;

    margin-bottom: 1.6rem;

    color: var(--cib-text-muted);

    font-size: clamp(1.05rem, 2vw, 1.25rem);
    line-height: 1.65;
}

.cib-home-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 1rem;
}

.cib-home-secondary {
    font-weight: 700;
    text-decoration: none;
}

.cib-home-section {
    margin: 0 0 4rem;
}

.cib-section-heading {
    max-width: 720px;
    margin-bottom: 1.6rem;
}

.cib-section-heading h2,
.cib-how-card h2,
.cib-home-final h2 {
    margin-top: 0;
    margin-bottom: 0.75rem;

    color: var(--cib-text);

    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.cib-section-heading p,
.cib-home-final p {
    color: var(--cib-text-muted);
    line-height: 1.7;
}

.cib-category-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 1.15rem;
}

.cib-category-card {
    display: block;

    padding: 1.4rem;

    color: var(--cib-text);
    text-decoration: none;

    transition:
        transform 160ms ease,
        box-shadow 160ms ease,
        border-color 160ms ease;
}

.cib-category-card:hover,
.cib-category-card:focus-visible {
    transform: translateY(-3px);

    border-color:
        rgba(36, 87, 230, 0.3);

    box-shadow:
        var(--cib-shadow-md);

    color: var(--cib-text);
}

.cib-category-card__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 2.4rem;
    height: 2.4rem;

    margin-bottom: 1rem;

    border-radius: 10px;

    background:
        rgba(36, 87, 230, 0.09);

    color: var(--cib-primary);

    font-weight: 800;
}

.cib-category-card h3 {
    margin: 0 0 0.55rem;

    font-size: 1.22rem;
}

.cib-category-card p {
    min-height: 5.2rem;

    margin: 0 0 1rem;

    color: var(--cib-text-muted);

    line-height: 1.6;
}

.cib-category-card__link {
    color: var(--cib-primary);

    font-size: 0.92rem;
    font-weight: 750;
}

.cib-home-section--trust {
    padding:
        clamp(1.5rem, 4vw, 2.6rem);

    border-radius:
        var(--cib-radius-lg);

    background:
        var(--cib-text);
}

.cib-home-section--trust
.cib-home-eyebrow {
    color: #9db5ff;
}

.cib-home-section--trust h2 {
    color: #ffffff;
}

.cib-home-section--trust
.cib-section-heading p {
    color: #c4ccda;
}

.cib-trust-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 1rem;
}

.cib-trust-item {
    padding-top: 1rem;

    border-top:
        1px solid
        rgba(255, 255, 255, 0.18);
}

.cib-trust-item strong,
.cib-trust-item span {
    display: block;
}

.cib-trust-item strong {
    margin-bottom: 0.45rem;
    color: #ffffff;
}

.cib-trust-item span {
    color: #c4ccda;

    font-size: 0.9rem;
    line-height: 1.55;
}

.cib-how-card {
    padding:
        clamp(1.5rem, 4vw, 2.4rem);
}

.cib-how-list {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 1rem;

    margin: 1.7rem 0;
    padding: 0;

    list-style: none;
    counter-reset: cib-how;
}

.cib-how-list li {
    position: relative;

    padding-top: 2.6rem;

    counter-increment: cib-how;
}

.cib-how-list li::before {
    position: absolute;
    top: 0;
    left: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 1.9rem;
    height: 1.9rem;

    border-radius: 50%;

    background:
        rgba(36, 87, 230, 0.1);

    color: var(--cib-primary);

    content: counter(cib-how);

    font-size: 0.8rem;
    font-weight: 800;
}

.cib-how-list strong,
.cib-how-list span {
    display: block;
}

.cib-how-list strong {
    margin-bottom: 0.3rem;
}

.cib-how-list span,
.cib-how-note {
    color: var(--cib-text-muted);

    font-size: 0.91rem;
    line-height: 1.55;
}

.cib-home-final {
    padding:
        clamp(2rem, 6vw, 4rem);

    border:
        1px solid
        var(--cib-border);

    border-radius:
        var(--cib-radius-lg);

    background:
        var(--cib-surface);
}

.page:not(.home) .entry-content {
    max-width: 820px;
}

.page:not(.home)
.entry-content h2 {
    margin-top: 2.25rem;
}

.page:not(.home)
.entry-content p,
.page:not(.home)
.entry-content li {
    line-height: 1.75;
}

@media (max-width: 900px) {

    .cib-category-grid {
        grid-template-columns: 1fr;
    }

    .cib-category-card p {
        min-height: 0;
    }

    .cib-trust-grid,
    .cib-how-list {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {

    .cib-home {
        margin-top: 0;
    }

    .cib-home-hero {
        padding:
            2.5rem 1.25rem;
    }

    .cib-home-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cib-home-secondary {
        padding: 0.7rem;
        text-align: center;
    }

    .cib-trust-grid,
    .cib-how-list {
        grid-template-columns: 1fr;
    }

    .cib-home-section {
        margin-bottom: 2.8rem;
    }
}


/* =========================================================
   CRAZYIBUY UI REFINEMENT V1.1
   ========================================================= */

/*
 * Header / branding
 */

.site-header {
    border-bottom: 1px solid var(--cib-border);
}

.site-header .inside-header {
    padding-top: 18px;
    padding-bottom: 18px;
}

.main-title {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.035em;
}

.main-title a,
.main-title a:hover {
    color: var(--cib-text);
}

.main-navigation .main-nav ul li a {
    font-size: 0.91rem;
    font-weight: 650;
}


/*
 * Content layout
 */

.no-sidebar .site-content {
    display: block;
}

.no-sidebar #primary {
    width: 100%;
}

.home .site-main {
    margin: 0;
}

.home .inside-article {
    padding: 0;
    background: transparent;
}

.home .entry-content {
    margin-top: 0;
}

.home .site-content {
    padding-top: 34px;
    padding-bottom: 50px;
}


/*
 * Hero polish
 */

.cib-home-hero {
    min-height: 440px;

    display: flex;
    align-items: center;
}

.cib-home-hero__content {
    position: relative;
    z-index: 1;
}

.cib-home-hero::after {
    position: absolute;

    width: 420px;
    height: 420px;

    top: -170px;
    right: -100px;

    border-radius: 50%;

    background:
        rgba(36, 87, 230, 0.055);

    content: "";
    pointer-events: none;
}


/*
 * Proper category cards
 */

.cib-category-card {
    display: flex;
    flex-direction: column;

    min-height: 285px;
    padding: 1.55rem;
}

.cib-category-card h3 {
    margin-bottom: 0.65rem;
}

.cib-category-card h3 a {
    color: var(--cib-text);
    text-decoration: none;
}

.cib-category-card h3 a:hover,
.cib-category-card h3 a:focus-visible {
    color: var(--cib-primary);
}

.cib-category-card p {
    min-height: 0;
    margin-bottom: 1.2rem;
}

.cib-category-card__link {
    margin-top: auto;
    text-decoration: none;
}

.cib-category-card__link:hover,
.cib-category-card__link:focus-visible {
    text-decoration: underline;
}


/*
 * Section spacing
 */

.cib-home-section {
    margin-bottom: 4.6rem;
}

.cib-home-section--trust {
    box-shadow: var(--cib-shadow-md);
}

.cib-how-card,
.cib-home-final {
    padding:
        clamp(1.8rem, 5vw, 3rem);
}


/*
 * Footer
 */

.site-info {
    border-top: 1px solid var(--cib-border);

    background: var(--cib-surface);
    color: var(--cib-text-muted);
}

.site-info .inside-site-info {
    padding-top: 22px;
    padding-bottom: 22px;

    font-size: 0.84rem;
}

.site-info a {
    color: var(--cib-text-muted);
    text-decoration: none;
}

.site-info a:hover,
.site-info a:focus-visible {
    color: var(--cib-primary);
}


/*
 * Responsive refinements
 */

@media (max-width: 900px) {

    .cib-home-hero {
        min-height: 380px;
    }

    .cib-category-card {
        min-height: 0;
    }
}

@media (max-width: 768px) {

    .site-header .inside-header {
        padding-left: 20px;
        padding-right: 20px;
    }

    .home .site-content {
        padding-top: 20px;
    }

    .cib-home-hero {
        min-height: auto;
    }
}


/* =========================================================
   CRAZYIBUY DEAL UI V1.2.1
   ========================================================= */

/*
 * Keep the commercial summary broad,
 * while keeping long-form reading lines comfortable.
 */

.single-cib_deal .site-content {
    padding-top: 38px;
    padding-bottom: 54px;
}

.single-cib_deal .inside-article {
    padding:
        clamp(30px, 4vw, 52px);
}

.single-cib_deal .entry-header {
    margin-bottom: 28px;
}

.single-cib_deal .entry-title {
    max-width: 1000px;

    margin-bottom: 0;

    color: var(--cib-text);

    font-size:
        clamp(2.15rem, 4vw, 3.25rem);

    line-height: 1.08;
    letter-spacing: -0.035em;
}


/*
 * Main deal summary
 */

.single-cib_deal .cib-deal-panel {
    margin-bottom: 34px;

    padding:
        clamp(1.35rem, 3vw, 2rem);

    border-color:
        var(--cib-border);

    box-shadow:
        0 16px 42px rgba(23, 32, 51, 0.07);
}

.cib-deal-panel__header {
    gap: 1rem;

    margin-bottom: 1.25rem;
}

.cib-deal-panel__eyebrow {
    display: block;

    margin-bottom: 0.35rem;

    color: var(--cib-text-muted);

    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cib-deal-panel__merchant {
    color: var(--cib-text);

    font-size: 1.08rem;
    font-weight: 800;
}


/*
 * The visitor benefit should be the most obvious
 * piece of information after the deal title.
 */

.cib-deal-panel__benefit {
    margin-bottom: 1rem;

    padding: 1.15rem 1.25rem;

    border-left:
        4px solid
        var(--cib-primary);

    border-radius:
        var(--cib-radius-sm);

    background:
        rgba(36, 87, 230, 0.055);
}

.cib-deal-panel__benefit span {
    display: block;

    margin-bottom: 0.35rem;

    color: var(--cib-text-muted);

    font-size: 0.73rem;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.cib-deal-panel__benefit strong {
    display: block;

    color: var(--cib-text);

    font-size:
        clamp(1.08rem, 2vw, 1.3rem);

    line-height: 1.4;
}


/*
 * Deal facts
 */

.cib-deal-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    margin:
        0 0 1.2rem;
}

.cib-deal-detail {
    padding: 1rem 1.05rem;

    border:
        1px solid
        var(--cib-border);

    border-radius:
        var(--cib-radius-sm);

    background:
        var(--cib-surface);
}

.cib-deal-detail dt {
    margin-bottom: 0.4rem;

    color: var(--cib-text-muted);

    font-size: 0.76rem;
    font-weight: 700;
}

.cib-deal-detail dd {
    margin: 0;

    color: var(--cib-text);

    font-weight: 750;
    line-height: 1.45;
}


/*
 * Verification / last-check information
 */

.cib-verification {
    margin:
        1.15rem 0;

    color: var(--cib-text-muted);

    font-size: 0.88rem;
}


/*
 * Disclosure is intentionally neutral.
 */

.cib-disclosure {
    margin-top: 1rem;

    padding: 1rem 1.05rem;

    border:
        1px solid
        var(--cib-border);

    border-radius:
        var(--cib-radius-sm);

    background:
        var(--cib-surface-soft);

    color: var(--cib-text-muted);

    font-size: 0.88rem;
    line-height: 1.6;
}


/*
 * Operational status notices are visually different
 * from the legal/affiliate disclosure.
 */

.cib-deal-panel__notice {
    width: 100%;

    margin: 0;
    padding: 0.95rem 1rem;

    border:
        1px solid
        var(--cib-border);

    border-radius:
        var(--cib-radius-sm);

    background:
        var(--cib-surface-soft);

    color:
        var(--cib-text-muted);

    line-height: 1.55;
}

.cib-deal-panel[data-offer-status="changed"]
.cib-deal-panel__notice {
    border-color: #ecd59a;
    background: #fffaf0;
    color: #775100;
}

.cib-deal-panel[data-offer-status="expired"]
.cib-deal-panel__notice,
.cib-deal-panel[data-offer-status="paused"]
.cib-deal-panel__notice {
    border-color: #e6c4c1;
    background: #fff7f6;
    color: #8c2f26;
}

.cib-deal-panel__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 0.85rem;

    margin-top: 0.8rem;
}

.cib-deal-panel__terms {
    display: inline-flex;
    align-items: center;

    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
}

.cib-deal-panel__terms:hover,
.cib-deal-panel__terms:focus-visible {
    text-decoration: underline;
}


/*
 * Long-form content below the commercial summary
 * should remain comfortable to read.
 */

.single-cib_deal .entry-content > h2,
.single-cib_deal .entry-content > h3,
.single-cib_deal .entry-content > p,
.single-cib_deal .entry-content > ul,
.single-cib_deal .entry-content > ol,
.single-cib_deal .entry-content > blockquote {
    max-width: 880px;
}

.single-cib_deal .entry-content > h2 {
    margin-top: 2rem;
    margin-bottom: 0.7rem;

    color: var(--cib-text);

    font-size:
        clamp(1.65rem, 3vw, 2.25rem);

    line-height: 1.15;
    letter-spacing: -0.022em;
}

.single-cib_deal .entry-content > p {
    color: var(--cib-text);

    line-height: 1.75;
}


/*
 * Mobile
 */

@media (max-width: 700px) {

    .single-cib_deal .site-content {
        padding-top: 20px;
    }

    .single-cib_deal .inside-article {
        padding:
            24px 20px;
    }

    .cib-deal-details {
        grid-template-columns: 1fr;
    }

    .cib-deal-panel__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cib-deal-panel__cta {
        width: 100%;
        text-align: center;
    }
}
