.elementor-678 .elementor-element.elementor-element-457bd2b8:not(.elementor-motion-effects-element-type-background), .elementor-678 .elementor-element.elementor-element-457bd2b8 > .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-11-Jan-2026-15.48.25.png");background-position:bottom center;background-repeat:no-repeat;background-size:cover;}.elementor-678 .elementor-element.elementor-element-457bd2b8 > .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-678 .elementor-element.elementor-element-457bd2b8 > .elementor-container{max-width:700px;min-height:300px;}.elementor-678 .elementor-element.elementor-element-457bd2b8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:50px 0px 50px 0px;}.elementor-678 .elementor-element.elementor-element-12a4a022{text-align:center;}.elementor-678 .elementor-element.elementor-element-12a4a022 .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-678 .elementor-element.elementor-element-1aa38d7a{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-678 .elementor-element.elementor-element-7e48f5c4{--spacer-size:80px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-meta .pp-meta-separator:not(:last-child):after{content:"-";}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination-wrap{text-align:center;}.elementor-678 .elementor-element.elementor-element-2e07aaf1{--grid-column-gap:20px;--grid-row-gap:25px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts:not(.elementor-grid){margin-left:-20px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts:not(.elementor-grid) .pp-post-wrap{padding-left:20px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-elementor-grid .pp-grid-item-wrap{margin-bottom:25px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-content-wrap{text-align:center;padding:0px 0px 40px 0px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-thumbnail{margin-bottom:25px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-title, .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-title a{color:var( --e-global-color-a8290dc );}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-title a:hover{color:var( --e-global-color-astglobalcolor0 );}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-title{font-family:"Playfair Display", Sans-serif;font-size:28px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;margin-bottom:10px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-excerpt{color:var( --e-global-color-text );font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;margin-bottom:25px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-meta{color:var( --e-global-color-text );margin-bottom:25px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-meta, .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-meta a{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:400;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-post-meta .pp-meta-separator:not(:last-child){margin-left:calc(15px / 2);margin-right:calc(15px / 2);}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-button{font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;background-color:var( --e-global-color-astglobalcolor0 );color:var( --e-global-color-cb6a994 );border-radius:50px 50px 50px 50px;margin:0px 0px 0px 0px;padding:10px 10px 10px 10px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-button:hover{background-color:var( --e-global-color-astglobalcolor0 );color:var( --e-global-color-cb6a994 );}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination-top .pp-posts-pagination{margin-bottom:40px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination-bottom .pp-posts-pagination{margin-top:40px;}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers, .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination a{font-family:"Playfair Display", Sans-serif;font-size:28px;font-weight:500;text-transform:capitalize;font-style:normal;text-decoration:none;color:var( --e-global-color-a8290dc );}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination a:hover{color:var( --e-global-color-d245c3c );}.elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers.current{color:var( --e-global-color-d245c3c );}body:not(.rtl) .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-678 .elementor-element.elementor-element-2e07aaf1 .pp-posts-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-678 .elementor-element.elementor-element-201e7c4f{--spacer-size:80px;}@media(max-width:767px){.elementor-678 .elementor-element.elementor-element-1aa38d7a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}@media(min-width:1025px){.elementor-678 .elementor-element.elementor-element-457bd2b8:not(.elementor-motion-effects-element-type-background), .elementor-678 .elementor-element.elementor-element-457bd2b8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for pp-posts, class: .elementor-element-2e07aaf1 */.elementor-678 .elementor-element.elementor-element-2e07aaf1 a {
    text-decoration: none;
}/* End custom CSS */
/* 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 */