/*
Theme Name: Papi's Patisserie
Theme URI: https://papispatisserie.com/
Author: Papi's Patisserie
Description: Rustic, warm, mobile-friendly bakery theme for Papi's Patisserie. WooCommerce compatible.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: papis-patisserie
*/
:root{--cream:#fbf6ec;--flour:#eee2cf;--cocoa:#553625;--cocoa2:#76523d;--sage:#527b70;--ink:#30271f;--white:#fffdf8;--shadow:0 12px 32px rgba(65,43,26,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.65}a{color:var(--sage);text-underline-offset:3px}a:hover{color:var(--cocoa)}img{max-width:100%;height:auto}h1,h2,h3{color:var(--cocoa);line-height:1.15;font-weight:500}h1{font-size:clamp(2.5rem,6vw,5rem);margin:.3em 0}h2{font-size:clamp(1.8rem,4vw,3rem)}.wrap{width:min(1120px,92%);margin-inline:auto}.site-header{background:var(--cream);border-bottom:1px solid #e2d4bf;position:relative;z-index:5}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--cocoa);font-weight:bold;font-size:1.15rem}.brand img{width:74px;height:74px;object-fit:contain}.brand small{display:block;letter-spacing:.18em;font-size:.65rem;font-weight:normal}.main-nav ul{display:flex;gap:22px;align-items:center;list-style:none;margin:0;padding:0}.main-nav a{text-decoration:none;color:var(--cocoa);font-size:.95rem}.button,.wp-block-button__link,button,input[type=submit]{display:inline-block;background:var(--cocoa);color:white;border:0;border-radius:3px;padding:13px 22px;text-decoration:none;cursor:pointer;font:inherit}.button:hover,.wp-block-button__link:hover,button:hover,input[type=submit]:hover{background:var(--sage);color:white}.button.secondary{background:transparent;border:1px solid var(--cocoa);color:var(--cocoa)}.hero{padding:clamp(48px,8vw,100px) 0;background:linear-gradient(105deg,rgba(251,246,236,.97),rgba(251,246,236,.78)),url('assets/brand-mockup.png') center/cover}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--sage);font-weight:bold}.hero p{font-size:1.15rem;max-width:590px}.hero-image{border-radius:48% 48% 5px 5px;overflow:hidden;box-shadow:var(--shadow);background:var(--flour)}.hero-image img{width:100%;height:450px;object-fit:cover}.section{padding:68px 0}.section-heading{text-align:center;max-width:720px;margin:0 auto 35px}.section-heading p{color:#6c5b4c}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:var(--white);border:1px solid #e9ddcb;box-shadow:var(--shadow);padding:24px;border-radius:4px}.card h3{margin:.2em 0}.card .placeholder-photo{height:190px;background:linear-gradient(135deg,#ead8be,#f9f0e2);display:grid;place-items:center;color:var(--cocoa2);font-size:3rem;margin:-24px -24px 20px}.newsletter{background:var(--flour);padding:48px 0}
.newsletter-inner{display:grid;grid-template-columns:minmax(0, 1.5fr) minmax(220px, .7fr);gap:48px;align-items:center;}
.newsletter-inner h2{
    font-size:clamp(2rem, 3.5vw, 3.2rem);
    margin:.35em 0 .5em;
    max-width:650px;
}
.newsletter-inner p{max-width:650px;}.newsletter-form{display:flex;align-items:center;justify-content:center;}.newsletter form{display:flex;gap:10px;flex-wrap:wrap}.newsletter input[type=email]{flex:1;min-width:190px;padding:13px;border:1px solid #cbb99f;background:var(--white);font:inherit}.note{font-size:.85rem;color:#6c5b4c}.page-content{padding:44px 0 70px;min-height:50vh}.site-footer{background:#3f2b20;color:#f9f0e2;padding:40px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.site-footer h2,.site-footer h3{color:#fff3df}.site-footer a{color:#d8e8de}.site-footer ul{padding-left:18px}.menu-toggle{display:none}.woocommerce ul.products li.product,.woocommerce div.product{background:var(--white);padding:18px;border:1px solid #e9ddcb}.woocommerce a.button{background:var(--cocoa)}.woocommerce span.onsale{background:var(--sage)}.woocommerce div.product .product_title{font-size:2rem}@media(max-width:780px){.header-inner{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none;width:100%}.main-nav.is-open{display:block}.main-nav ul{display:flex;flex-direction:column;align-items:flex-start;padding:10px 0}.hero-grid,.newsletter-inner,.footer-grid{grid-template-columns:1fr}.hero-image img{height:300px}.cards{grid-template-columns:1fr}.section{padding:48px 0}.brand img{width:58px;height:58px}}

/* MailerLite email club popup button */
.newsletter .ml-onclick-form {
    display: inline-block;
    background: var(--cocoa);
    color: var(--white);
    border: 1px solid var(--cocoa);
    border-radius: 3px;
    padding: 13px 22px;
    text-decoration: none;
    font: inherit;
    line-height: 1.5;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.newsletter .ml-onclick-form:hover,
.newsletter .ml-onclick-form:focus-visible {
    background: var(--sage);
    border-color: var(--sage);
    color: var(--white);
}


/* Papi's Patisserie: Everyday Menu image previews */
.papis-product-preview {
    position: fixed;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    width: min(380px, calc(100vw - 32px));
    max-height: 80vh;
    overflow: auto;
    padding: 16px;
    background: #fffaf2;
    border: 1px solid #d8c6ae;
    border-radius: 10px;
    box-shadow: 0 12px 36px rgba(50, 35, 20, 0.22);
    z-index: 99999;
}

.papis-product-preview[hidden] {
    display: none !important;
}

.papis-product-preview img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 65vh;
    object-fit: contain;
    border-radius: 6px;
}

.papis-product-preview-close {
    display: block;
    margin: 0 0 10px auto;
    padding: 6px 12px;
    border: 1px solid #8b6748;
    border-radius: 4px;
    background: transparent;
    color: #4b3426;
    font: inherit;
    cursor: pointer;
}

.papis-product-preview-close:hover,
.papis-product-preview-close:focus-visible {
    background: #8b6748;
    color: #fff;
}

.papis-product-preview-link {
    color: #8b6748;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.papis-product-preview-link:focus-visible {
    outline: 2px solid #8b6748;
    outline-offset: 3px;
}

@media (max-width: 600px) {
    .papis-product-preview {
        top: auto;
        right: 12px;
        bottom: 12px;
        transform: none;
        width: calc(100vw - 56px);
        max-height: 70vh;
    }

    .papis-product-preview img {
        max-height: 48vh;
    }
}


/* Keep product preview links looking like menu text */
.papis-product-preview-link {
    display: inline;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #8b6748;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
}

.papis-product-preview-link:hover,
.papis-product-preview-link:focus-visible {
    background: transparent;
    color: #4b3426;
    text-decoration-thickness: 2px;
    box-shadow: none;
}
