.elementor-20 .elementor-element.elementor-element-f9a5b44:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-f9a5b44 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-a8290dc );background-image:url("https://zoecoffeehq.com/wp-content/uploads/2026/01/ChatGPT-Image-10-Jan-2026-19.55.40.png");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-f9a5b44 > .elementor-background-overlay{background-color:var( --e-global-color-a8290dc );opacity:0.5;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-20 .elementor-element.elementor-element-f9a5b44 > .elementor-container{min-height:300px;}.elementor-20 .elementor-element.elementor-element-f9a5b44{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:50px 0px 50px 0px;}.elementor-20 .elementor-element.elementor-element-819ef91{text-align:center;}.elementor-20 .elementor-element.elementor-element-819ef91 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:50px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;color:var( --e-global-color-cb6a994 );}.elementor-20 .elementor-element.elementor-element-705996ac{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"Roboto", Sans-serif;font-size:18px;font-weight:300;text-transform:none;font-style:normal;text-decoration:none;color:var( --e-global-color-cb6a994 );}.elementor-20 .elementor-element.elementor-element-ze73deh > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-20 .elementor-element.elementor-element-ze73deh{margin-top:100px;margin-bottom:100px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-412292b > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-20 .elementor-element.elementor-element-6f96ea7{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-20 .elementor-element.elementor-element-6f96ea7 iframe{height:300px;}.elementor-20 .elementor-element.elementor-element-c6a06bd{margin-top:30px;margin-bottom:0px;}.elementor-20 .elementor-element.elementor-element-a821c80 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:10px;}.elementor-20 .elementor-element.elementor-element-a821c80 > .elementor-element-populated{margin:0px 80px 0px 0px;--e-column-margin-right:80px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-03585ad .elementor-image-box-title{margin-bottom:6px;font-weight:bold;}.elementor-20 .elementor-element.elementor-element-b1b5063 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:10px;}.elementor-20 .elementor-element.elementor-element-b1b5063 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-0ac5c77 .elementor-image-box-title{margin-bottom:6px;font-weight:bold;}.elementor-20 .elementor-element.elementor-element-9f5dd84 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:10px;}.elementor-20 .elementor-element.elementor-element-9f5dd84 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-bfc81c5 .elementor-image-box-title{margin-bottom:6px;font-weight:bold;}.elementor-20 .elementor-element.elementor-element-7d7704b > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-0cfd6b9 .elementor-image-box-title{margin-bottom:6px;font-weight:bold;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-20 .elementor-element.elementor-element-ze73deh{padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-412292b > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-20 .elementor-element.elementor-element-c6a06bd{margin-top:0px;margin-bottom:0px;padding:50px 50px 50px 50px;}.elementor-20 .elementor-element.elementor-element-9f5dd84 > .elementor-element-populated{margin:50px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-20 .elementor-element.elementor-element-7d7704b > .elementor-element-populated{margin:50px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-705996ac{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-ze73deh{padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-c6a06bd{padding:50px 25px 50px 25px;}.elementor-20 .elementor-element.elementor-element-a821c80 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-b1b5063 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-0ac5c77{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-9f5dd84 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-bfc81c5{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-7d7704b > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-20 .elementor-element.elementor-element-0cfd6b9{margin:40px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-a821c80{width:35%;}.elementor-20 .elementor-element.elementor-element-b1b5063{width:22.182%;}.elementor-20 .elementor-element.elementor-element-9f5dd84{width:23%;}.elementor-20 .elementor-element.elementor-element-7d7704b{width:19.795%;}}@media(max-width:1024px) and (min-width:768px){.elementor-20 .elementor-element.elementor-element-a821c80{width:50%;}.elementor-20 .elementor-element.elementor-element-b1b5063{width:50%;}.elementor-20 .elementor-element.elementor-element-9f5dd84{width:50%;}.elementor-20 .elementor-element.elementor-element-7d7704b{width:50%;}}@media(min-width:1025px){.elementor-20 .elementor-element.elementor-element-f9a5b44:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-f9a5b44 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS *//* ==============================
   ROOT COLOR VARIABLES
============================== */
:root {
    --primary-blue: #0b5ed7;
    --coffee-brown: #6f4e37;
    --coffee-light: #f4efe9;
    --coffee-dark: #3e2a1f;
    --text-dark: #222;
    --global-border-radius: 12px; /* radius untuk semua gambar / kartu */
}

/* ==============================
   GLOBAL FONT BASE (LOCK)
============================== */
body {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-dark);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ==============================
   HEADING GLOBAL (LOCK)
============================== */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600;
    line-height: 1.3;
    color: var(--text-dark);
}

/* ==============================
   HEADING SIZE (DESKTOP)
============================== */
h1 { font-size: 48px; }
h2 { font-size: 36px; }
h3 { font-size: 28px; }
h4 { font-size: 22px; }
h5 { font-size: 18px; }
h6 { font-size: 16px; }

/* ==============================
   PARAGRAPH & TEXT ELEMENT
============================== */
p,
.elementor-text-editor,
.elementor-text-editor p,
.elementor-text-editor span {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
}

/* ==============================
   LINK STYLE
============================== */
a {
    color: var(--primary-blue);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* ==============================
   BUTTON STYLE
============================== */
.elementor-button {
    font-family: 'Poppins', sans-serif;
    font-weight: 500;
    text-decoration: none;
    background-color: var(--primary-blue);
    color: #fff;
    border-radius: 8px;
    padding: 10px 18px;
    display: inline-block;
}

.elementor-button:hover {
    opacity: 0.9;
}

/* Button versi coffee */
.elementor-button.btn-coffee {
    background-color: var(--coffee-brown);
}

.elementor-button.btn-coffee:hover {
    background-color: var(--coffee-dark);
}

/* ==============================
   INFO BOX ICON (CENTER + VISUAL)
============================== */
/* Pastikan wrapper info box men-center-kan isi */
.pp-info-box,
.pp-info-box .pp-info-box-content,
.elementor-widget-pp-info-box,
.elementor-widget-pp-info-box .pp-info-box {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}

/* Icon bulat */
.pp-info-box-icon.pp-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: var(--coffee-brown);
    color: #fff;
    font-size: 24px;

    display: flex;
    align-items: center;
    justify-content: center;

    /* taruh di tengah kolom jika parent bersifat inline/row */
    margin: 0 auto 14px auto;
    box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* Jika ada ikon SVG / i tag di dalam, scale agar tetap center */
.pp-info-box-icon.pp-icon > * {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ==============================
   SECTION COFFEE BACKGROUND
============================== */
.section-coffee {
    background-color: var(--coffee-light);
    border-radius: 0; /* biar section tetap kotak seperti permintaan sebelumnya */
}

.section-coffee-dark {
    background-color: var(--coffee-brown);
    color: #fff;
    border-radius: 0;
}

.section-coffee-dark h1,
.section-coffee-dark h2,
.section-coffee-dark h3,
.section-coffee-dark p {
    color: #fff;
}

/* ==============================
   HERO / INTRO — lebih tinggi & responsif
============================== */
/* Selector umum hero / header besar (sesuaikan jika ada class khusus di tema) */
.hero-section,
.site-hero,
.header-hero,
.elementor-hero,
.frontpage-hero {
    min-height: 70vh;          /* lebih lapang */
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 80px 0;
    box-sizing: border-box;
}

/* Jika hero memiliki overlay image, pastikan teks tetap di atas */
.hero-section .hero-content,
.site-hero .hero-content,
.elementor-hero .elementor-widget-container {
    z-index: 2;
}

/* overlay gelap tipis agar teks terbaca */
.hero-section::before,
.site-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(11, 78, 215, 0.08); /* lembut */
    z-index: 1;
}

/* Jika background image langsung pada section, pastikan cover dan tidak ter-crop terlalu sempit */
.hero-section,
.site-hero {
    background-size: cover;
    background-position: center center;
}

/* ==============================
   MAKE ALL IMAGES ROUNDED (GLOBAL)
============================== */
/* Gambar konten & widget */
img,
.entry-content img,
.site-content img,
.elementor-widget-image img,
.wp-block-image img,
.gallery img,
.gallery-item img,
.woocommerce-product-gallery__image img,
.card img,
.card .card-image img {
    border-radius: var(--global-border-radius) !important;
    display: block;
    height: auto !important;
    max-width: 100%;
    object-fit: cover; /* agar crop tetap rapi */
}

/* Jika gambar digunakan sebagai background pada elemen (untuk hero, card, gallery), beri radius pada parent dan overflow:hidden */
.elementor-widget-image,
.wp-block-image,
.gallery-item,
.card,
.attachment,
.hero-image,
.elementor-image {
    border-radius: var(--global-border-radius);
    overflow: hidden;
}

/* Khusus gallery grid (agar foto kotak terlihat rapi) */
.gallery-item {
    overflow: hidden;
}

/* ==============================
   TIGHT ROWS / CARDS — beri lebih ruang vertikal
============================== */
.section,
.elementor-section,
.elementor-column,
.card {
    border-radius: 0; /* biar section/header/footer tetap kotak; gambar saja yang rounded */
}

/* Jika ingin rounded kartu juga (opsional, sekarang off). Uncomment jika mau: */
/*
.card {
    border-radius: var(--global-border-radius);
    overflow: hidden;
}
*/

/* ==============================
   ICON ALIGN FIX (fallback jika icon masih miring)
============================== */
/* Force center for common icon wrappers */
.elementor-widget-icon-box .elementor-icon,
.elementor-widget-icon .elementor-icon,
.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
    margin: 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ==============================
   RESPONSIVE (MOBILE)
============================== */
@media (max-width: 768px) {

    body {
        font-size: 15px;
    }

    h1 { font-size: 32px; }
    h2 { font-size: 26px; }
    h3 { font-size: 22px; }

    /* WordPress Full Width Fix (jaga agar tetap full bleed) */
    .container,
    .site-content,
    .content-area,
    .entry-content,
    .wp-site-blocks {
        width: 100vw;
        max-width: 100vw;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
    }

    /* Hero jangan terlalu tinggi di mobile */
    .hero-section,
    .site-hero {
        min-height: 44vh;
        padding: 40px 0;
    }

    /* Kurangi ukuran icon di mobile */
    .pp-info-box-icon.pp-icon {
        width: 64px;
        height: 64px;
        font-size: 20px;
    }

    /* radius sedikit lebih kecil di mobile untuk rapi */
    :root {
        --global-border-radius: 10px;
    }
}

/* ==============================
   OPTIONAL: jika kamu mau cornerless header/footer
   (kamu sempat bilang header/footer jangan dilengkung)
============================== */
.site-header,
.site-footer,
.footer-widgets {
    border-radius: 0;
}

/* ==============================
   SMALL TWEAKS untuk memastikan teks & tombol di hero tetap klikable di atas overlay
============================== */
.hero-section .elementor-button,
.site-hero .elementor-button {
    z-index: 3;
    position: relative;
}/* End custom CSS */