:root {
    --gpb-yellow:#ffc61a;
    --gpb-dark:#17140a;
    --gpb-ink:#172033;
    --gpb-muted:#667085;
    --gpb-line:rgba(23,32,51,.10);
}

*, *:before, *:after { box-sizing:border-box; }

body {
    margin:0;
    color:var(--gpb-ink);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    background:#fffdf5;
}

img { max-width:100%; height:auto; }

a { color:inherit; }

.gpb-theme-container {
    width:min(1340px, calc(100% - 32px));
    margin-inline:auto;
}

.gpb-theme-header {
    background:#fff;
    border-bottom:1px solid var(--gpb-line);
    position:relative;
    z-index:20;
}

.gpb-theme-header__inner {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.gpb-theme-logo {
    font-weight:950;
    font-size:22px;
    text-decoration:none;
}

.gpb-theme-nav ul {
    display:flex;
    gap:18px;
    align-items:center;
    list-style:none;
    margin:0;
    padding:0;
}

.gpb-theme-nav a {
    text-decoration:none;
    color:var(--gpb-muted);
    font-weight:800;
}

.gpb-theme-footer {
    padding:36px 0;
    background:#17140a;
    color:#f4e7af;
}

.gpb-theme-content {
    padding:48px 0;
}

.gpb-builder-page {
    --gpb-page-bg:#fffdf5;
    width:100%;
    overflow-x:clip;
    background:
        radial-gradient(circle at 8% 8%, rgba(255,198,26,.14), transparent 30%),
        linear-gradient(180deg,#fffdf5 0%,#fff8e3 100%);
    padding:clamp(12px,2.4vw,34px);
}

.gpb-canvas-clean {
    padding:0;
    background:#fff;
}

.gpb-page-grid {
    width:min(1340px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:22px;
    align-items:stretch;
}

.gpb-canvas-full .gpb-page-grid,
.gpb-canvas-clean .gpb-page-grid {
    width:100%;
    max-width:100%;
}

.gpb-section {
    grid-column:span 12;
    min-width:0;
}

.gpb-span-12 { grid-column:span 12; }
.gpb-span-9 { grid-column:span 9; }
.gpb-span-8 { grid-column:span 8; }
.gpb-span-6 { grid-column:span 6; }
.gpb-span-4 { grid-column:span 4; }
.gpb-span-3 { grid-column:span 3; }

.gpb-card,
.gpb-hero,
.gpb-cta {
    background:var(--gpb-bg,#fff);
    border:1px solid var(--gpb-border,var(--gpb-line));
    border-radius:var(--gpb-radius,30px);
    box-shadow:var(--gpb-shadow,0 18px 44px rgba(23,20,10,.07));
    padding:var(--gpb-padding,clamp(22px,3vw,40px));
    font-family:var(--gpb-font,inherit);
    overflow:hidden;
}

.gpb-box-plain {
    background:var(--gpb-bg,transparent)!important;
    border-color:var(--gpb-border,transparent)!important;
    box-shadow:none!important;
    padding:var(--gpb-padding,0)!important;
}

.gpb-box-soft {
    background:var(--gpb-bg,#fff9e7)!important;
    border-color:var(--gpb-border,rgba(255,198,26,.45))!important;
}

.gpb-box-dark {
    background:var(--gpb-bg,#17140a)!important;
    border-color:var(--gpb-border,rgba(255,198,26,.25))!important;
}

.gpb-box-dark h1,
.gpb-box-dark h2,
.gpb-box-dark h3 {
    color:var(--gpb-title,#fff)!important;
}

.gpb-box-dark p,
.gpb-box-dark .gpb-copy {
    color:var(--gpb-text,#f4e7af)!important;
}

.gpb-section h1,
.gpb-section h2,
.gpb-section h3 {
    margin:0 0 12px;
    color:var(--gpb-title,var(--gpb-ink));
    font-weight:950;
    line-height:1.05;
    letter-spacing:-.04em;
}

.gpb-section h1 {
    font-size:var(--gpb-title-size,clamp(42px,7vw,86px));
}

.gpb-section h2 {
    font-size:var(--gpb-title-size,clamp(32px,4vw,54px));
}

.gpb-section h3 {
    font-size:var(--gpb-title-size,22px);
}

.gpb-section p,
.gpb-copy {
    color:var(--gpb-text,var(--gpb-muted));
    font-size:var(--gpb-text-size,17px);
    line-height:1.7;
    font-weight:650;
}

.gpb-kicker {
    display:inline-flex;
    width:fit-content;
    margin-bottom:12px;
    padding:7px 11px;
    border-radius:999px;
    background:#fff1b2;
    border:1px solid rgba(255,198,26,.55);
    color:#8a5a00;
    font-weight:950;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.gpb-btn,
.woocommerce a.button,
.woocommerce button.button {
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:var(--gpb-button-width,auto);
    min-height:var(--gpb-button-height,52px);
    padding:12px 22px;
    border-radius:var(--gpb-button-radius,999px)!important;
    background:var(--gpb-button-bg,var(--gpb-yellow))!important;
    border:1px solid #e0a900!important;
    color:var(--gpb-button-color,var(--gpb-dark))!important;
    font-size:var(--gpb-button-text-size,15px);
    font-weight:950!important;
    text-decoration:none!important;
}

.gpb-btn-small {
    min-height:40px;
    padding:10px 16px;
    font-size:14px;
}

.gpb-align-center { text-align:center; }
.gpb-align-right { text-align:right; }

.gpb-align-center .gpb-kicker,
.gpb-align-center .gpb-btn {
    margin-left:auto;
    margin-right:auto;
}

.gpb-align-right .gpb-kicker,
.gpb-align-right .gpb-btn {
    margin-left:auto;
}

.gpb-hero,
.gpb-text-image {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
    gap:28px;
    align-items:center;
}

.gpb-hero {
    background:var(--gpb-bg, radial-gradient(circle at 92% 8%, rgba(255,198,26,.24), transparent 28%), linear-gradient(135deg,#fff 0%,#fff9e7 100%));
}

.gpb-image-left .gpb-text-image__copy { order:2; }
.gpb-image-left .gpb-text-image__media,
.gpb-image-left .gpb-embed { order:1; }

.gpb-hero__media,
.gpb-text-image__media {
    height:var(--gpb-media-height,420px);
    min-height:0;
    border-radius:24px;
    overflow:hidden;
    background:#fff4bf;
}

.gpb-media-gallery {
    width:100%;
    height:100%;
    display:grid;
    gap:12px;
}

.gpb-media-gallery figure {
    margin:0;
    width:100%;
    height:100%;
    overflow:hidden;
    border-radius:inherit;
}

.gpb-media-gallery img {
    width:100%;
    height:100%;
    object-fit:var(--gpb-media-fit,cover);
    object-position:var(--gpb-media-focus,center center);
    display:block;
}

.gpb-gallery-single { grid-template-columns:1fr; }
.gpb-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }

.gpb-gallery-overlap {
    position:relative;
    display:block;
}

.gpb-gallery-overlap figure {
    position:absolute;
    inset:0;
    box-shadow:0 18px 44px rgba(23,20,10,.14);
    transform:translate(calc(var(--i, 0) * 18px), calc(var(--i, 0) * 18px));
}

.gpb-gallery-overlap figure:nth-child(1){--i:0;z-index:3;}
.gpb-gallery-overlap figure:nth-child(2){--i:1;z-index:2;opacity:.92;}
.gpb-gallery-overlap figure:nth-child(3){--i:2;z-index:1;opacity:.84;}

.gpb-feature-grid,
.gpb-stats-grid,
.gpb-loop-grid,
.gpb-products-grid,
.gpb-post-grid {
    display:grid;
    gap:18px;
}

.gpb-cols-1 { grid-template-columns:1fr; }
.gpb-cols-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gpb-cols-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.gpb-cols-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.gpb-cols-5 { grid-template-columns:repeat(5,minmax(0,1fr)); }
.gpb-cols-6 { grid-template-columns:repeat(6,minmax(0,1fr)); }

.gpb-feature-card,
.gpb-stat,
.gpb-loop-card,
.gpb-product-card,
.gpb-post-card {
    background:#fffdf6;
    border:1px solid rgba(236,211,122,.72);
    border-radius:22px;
    padding:20px;
    box-shadow:0 10px 24px rgba(23,20,10,.045);
}

.gpb-feature-icon {
    width:54px;
    height:54px;
    border-radius:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(180deg,var(--gpb-yellow),#ffbd00);
    color:var(--gpb-dark);
    font-size:26px;
    margin-bottom:14px;
}

.gpb-stat {
    text-align:center;
    background:#17140a;
    color:#fff;
}

.gpb-stat span {
    display:block;
    font-size:28px;
    margin-bottom:8px;
}

.gpb-stat strong {
    display:block;
    color:var(--gpb-yellow);
    font-size:clamp(32px,4vw,48px);
    line-height:1;
}

.gpb-stat em {
    display:block;
    color:#f4e7af;
    font-style:normal;
    margin-top:8px;
}

.gpb-faq-list {
    display:grid;
    gap:10px;
}

.gpb-faq details {
    border-radius:18px;
    border:1px solid rgba(236,211,122,.72);
    background:#fffdf6;
    overflow:hidden;
}

.gpb-faq summary {
    cursor:pointer;
    padding:18px 20px;
    color:var(--gpb-ink);
    font-weight:950;
}

.gpb-faq details div {
    padding:0 20px 18px;
    color:var(--gpb-muted);
    line-height:1.65;
}

.gpb-cta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    background:var(--gpb-bg,#17140a);
}

.gpb-cta h2 { color:var(--gpb-title,#fff); }
.gpb-cta p { color:var(--gpb-text,#f4e7af); }

.gpb-loop-card__image,
.gpb-product-card__image,
.gpb-post-card__image {
    display:block;
    height:220px;
    border-radius:18px;
    overflow:hidden;
    margin-bottom:14px;
    background:#fff4bf;
}

.gpb-loop-card__image img,
.gpb-product-card__image img,
.gpb-post-card__image img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.gpb-product-price {
    font-weight:950;
    margin:10px 0;
    color:#17140a;
}

.gpb-embed {
    width:100%;
    margin-top:18px;
}

.gpb-free-mode {
    position:relative!important;
    min-height:var(--gpb-free-height,560px)!important;
    display:block!important;
}

.gpb-free-item {
    position:absolute;
    left:var(--gpb-pos-left,5%);
    top:var(--gpb-pos-top,5%);
    z-index:4;
    min-width:90px;
    max-width:96%;
}

.gpb-free-copy {
    width:var(--gpb-content-width-free,42%);
}

.gpb-free-media {
    width:var(--gpb-media-width-free,38%);
}

.gpb-free-items {
    width:88%;
}

.gpb-free-button {
    width:max-content;
}

.gpb-free-mode .gpb-hero__content,
.gpb-free-mode .gpb-text-image__copy {
    width:100%!important;
}

.gpb-free-mode .gpb-hero__media,
.gpb-free-mode .gpb-text-image__media {
    width:100%!important;
    height:var(--gpb-media-height,320px)!important;
}

.gpb-free-mode .gpb-feature-grid,
.gpb-free-mode .gpb-stats-grid,
.gpb-free-mode .gpb-faq-list,
.gpb-free-mode .gpb-loop-grid,
.gpb-free-mode .gpb-products-grid {
    width:100%;
}

@media(max-width:980px){
    .gpb-span-9,
    .gpb-span-8,
    .gpb-span-6,
    .gpb-span-4,
    .gpb-span-3 {
        grid-column:span 12;
    }

    .gpb-hero,
    .gpb-text-image,
    .gpb-cta {
        grid-template-columns:1fr;
        display:grid;
    }

    .gpb-free-mode {
        min-height:var(--gpb-free-height-tablet,var(--gpb-free-height,520px))!important;
    }

    .gpb-free-item {
        left:var(--gpb-pos-left-t,var(--gpb-pos-left,5%));
        top:var(--gpb-pos-top-t,var(--gpb-pos-top,5%));
    }

    .gpb-image-left .gpb-text-image__copy,
    .gpb-image-left .gpb-text-image__media,
    .gpb-image-left .gpb-embed {
        order:initial;
    }

    .gpb-hero__media,
    .gpb-text-image__media {
        height:var(--gpb-media-height-tablet,var(--gpb-media-height,320px));
    }

    .gpb-free-mode .gpb-hero__media,
    .gpb-free-mode .gpb-text-image__media {
        height:var(--gpb-media-height-tablet,var(--gpb-media-height,280px))!important;
    }

    .gpb-cols-4,
    .gpb-cols-5,
    .gpb-cols-6 {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:640px){
    .gpb-builder-page {
        padding:10px;
    }

    .gpb-card,
    .gpb-hero,
    .gpb-cta {
        border-radius:22px;
        padding:var(--gpb-padding,18px);
    }

    .gpb-section h1 {
        font-size:var(--gpb-title-size,38px);
    }

    .gpb-section h2 {
        font-size:var(--gpb-title-size,31px);
    }

    .gpb-free-mode {
        min-height:var(--gpb-free-height-mobile,var(--gpb-free-height-tablet,620px))!important;
    }

    .gpb-free-item {
        left:var(--gpb-pos-left-m,var(--gpb-pos-left-t,var(--gpb-pos-left,5%)));
        top:var(--gpb-pos-top-m,var(--gpb-pos-top-t,var(--gpb-pos-top,5%)));
        width:90%!important;
        max-width:90%!important;
    }

    .gpb-hero__media,
    .gpb-text-image__media {
        height:var(--gpb-media-height-mobile,var(--gpb-media-height-tablet,240px));
    }

    .gpb-free-mode .gpb-hero__media,
    .gpb-free-mode .gpb-text-image__media {
        height:var(--gpb-media-height-mobile,var(--gpb-media-height-tablet,220px))!important;
    }

    .gpb-cols-2,
    .gpb-cols-3,
    .gpb-cols-4,
    .gpb-cols-5,
    .gpb-cols-6,
    .gpb-gallery-grid {
        grid-template-columns:1fr;
    }

    .gpb-theme-header__inner {
        display:grid;
        justify-items:start;
        padding:16px 0;
    }

    .gpb-theme-nav ul {
        flex-wrap:wrap;
    }

    .gpb-btn {
        width:var(--gpb-button-width,100%);
    }
}