:root{
  --pink:#FF6B9A;
  --cream:#FFF7EE;
  --choc:#6B3F26;
  --accent:#FFD8E0;
  --bg:#fff;
  --muted:#6b6b6b;
}
*{box-sizing:border-box}
body{font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;line-height:1.45;margin:0;background:var(--cream);color:#222}

.container{max-width:1100px;margin:0 auto;padding:0 20px}
.site-header{padding:18px 0;background:transparent}
.site-header > .container{display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;gap:12px}
.logo h1{font-family:Pacifico,Segoe UI,serif;margin:0;font-size:1.8rem;color:var(--choc)}
.donut-logo{width:50px;height:50px;border-radius:50%;background-color:var(--accent);background-image:url('assets/donut.png');background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 4px 12px rgba(0,0,0,.06);display:inline-block}
.btn{font-weight:600;padding:10px 14px;border-radius:10px;border:0;cursor:pointer;background:transparent;text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:8px}
.btn:link,.btn:visited,.btn:hover,.btn:active,.btn:focus{text-decoration:none}
.btn.primary{background:linear-gradient(90deg,var(--pink),#FF9BC0);color:white}

.btn .icon{width:18px;height:18px;display:inline-block;flex:0 0 18px}
.btn svg.icon{fill:currentColor;display:block}
.btn img.icon-img{width:18px;height:18px;display:block;flex:0 0 18px}

.hero{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:32px 0}
      text-align:left
.hero-content h1{font-size:1.7rem;margin:0 0 8px;color:var(--choc);font-weight:600;}
.hero-content p{margin:0 0 12px;color:var(--muted);font-size:1.1rem;line-height:1.6}
.donut-art{width:140px;height:auto;display:block;opacity:.85}

.hero-media{flex:0 0 290px;display:flex;align-items:center;justify-content:center}
.hero-image{width:100%;max-width:290px;border-radius:10px;object-fit:cover;}
.hero-features{list-style:none;padding:0;margin:16px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.hero-features li{background:rgba(0,0,0,.04);padding:8px 12px;border-radius:999px;font-size:.95rem;color:var(--choc);display:flex;align-items:center;gap:8px}
.hero-features li i{font-size:16px;color:var(--pink)}

.hero-badge{display:inline-block;background:var(--accent);color:var(--choc);padding:6px 10px;border-radius:999px;font-size:.9rem;margin-bottom:10px}
.hero-lead{margin:0 0 16px;color:var(--muted);font-size:1.35rem}
.hero-ctas{display:flex;gap:10px;margin-bottom:8px}
.btn.secondary{background:transparent;border:1px solid rgba(0,0,0,.06);color:var(--choc)}
.btn.secondary:hover{background:rgba(0,0,0,.02)}
.hero-content h1{font-size:2rem;line-height:1.08;margin:0 0 10px;color:var(--choc)}

/* Hero tweaks: larger heading and CTA spacing */
.hero-content h1{font-size:2rem;line-height:1.08;margin:0 0 10px;color:var(--choc)}
.hero-content p{margin:0 0 16px;color:var(--muted);font-size:1.35rem}
.hero-content .btn.primary{padding:12px 18px;border-radius:12px;font-size:1rem}

.menu{padding:28px 0}
.menu h3{margin:0 0 14px;color:var(--choc)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:#fff;border-radius:10px;padding:14px;border:1px solid rgba(0,0,0,.04);display:flex;flex-direction:column}
.product-img{width:100%;height:150px;object-fit:contain;border-radius:8px;margin-bottom:12px}
.donut{width:88px;height:88px;border-radius:50%;margin-bottom:12px;position:relative}
.donut:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:var(--bg);border-radius:50%}
.donut-pink{background:radial-gradient(circle at 30% 30%,#fff,#FFD9E3 20%,var(--pink) 70%)}
.donut-choc{background:radial-gradient(circle at 30% 30%,#fff,#8B5E4D 20%,var(--choc) 70%)}
.donut-vanilla{background:radial-gradient(circle at 30% 30%,#fff,#FFEECF 20%,#F6D88C 70%)}
.price{color:var(--choc);font-weight:700;margin-top:8px}
.card .btn{margin-top:12px;align-self:stretch;text-align:center}

/* Gallery styles (replacement for card view) */
.gallery{padding:0 0 28px 0; margin-top:0}
.gallery h3{font-size:1.5rem;margin-bottom:8px;color:var(--choc)}
.gallery p{margin-top:0;margin-bottom:12px;color:var(--muted)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gallery-grid figure{margin:0}
.gallery-item{position:relative;border-radius:8px;overflow:hidden;background:#fff;border:0}
.gallery-item img{width:100%;height:220px;object-fit:cover;display:block;transition:transform .28s ease}
.gallery-item:hover img{transform:scale(1.05)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.5));color:white}
.gallery-item h4{margin:0;font-size:1rem}
.gallery-item p{margin:6px 0 0;font-size:.9rem;color:rgba(255,255,255,.95)}

@media(max-width:720px){
  .gallery-item img{height:180px}
}

  /* show/hide states and actions */
  .gallery-item.is-hidden{display:none}
  .gallery-actions{display:flex;justify-content:center;margin-top:14px}
  .gallery-actions .btn{padding:8px 14px;border-radius:8px}

  /* Styled Show more button */
  #gallery-more{background:linear-gradient(90deg,var(--pink),#FF9BC0);color:#fff;border:0;padding:12px 28px;border-radius:10px;min-width:100%;font-weight:700;box-shadow:0 8px 20px rgba(255,107,154,0.12);transition:transform .12s ease,box-shadow .12s ease,opacity .12s;justify-content:center;text-align:center}

  /* Ensure the gallery 'Show more' button text matches the page font */
  #gallery-more{font-family:inherit;font-weight:400;font-size: 1rem;}
  #gallery-more:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(255,107,154,0.18)}
  #gallery-more:active{transform:translateY(-1px);opacity:.95}
  #gallery-more:focus{outline:3px solid rgba(255,107,154,0.14);outline-offset:3px}

  @media(max-width:480px){
    #gallery-more{width:100%;padding:12px 16px;justify-content:center}
  }

  /* Lightbox styles */
  .lightbox{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.9);z-index:1000}
  .lightbox[aria-hidden="false"],.lightbox.show{display:flex}
  .lightbox-img{max-width:92%;max-height:86%;border-radius:8px;box-shadow:0 12px 40px rgba(0,0,0,.6)}
  .lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;background:transparent;border:0;color:white;font-size:28px;cursor:pointer;padding:10px}
  .lightbox-close{right:18px;top:14px;font-size:28px}
  .lightbox-prev{left:18px;top:50%;transform:translateY(-50%);font-size:40px}
  .lightbox-next{right:18px;top:50%;transform:translateY(-50%);font-size:40px}
  .lightbox-close:focus,.lightbox-prev:focus,.lightbox-next:focus{outline:2px solid rgba(255,255,255,.18);outline-offset:2px}

.about{padding:16px 0;color:var(--muted)}
/* Testimonials */
.testimonials{padding:28px 0px;background:transparent;border-radius:12px;color:var(--choc)}
.testimonials h3{font-size:1.25rem;margin:0 0 10px;color:var(--choc)}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;column-gap:28px;align-items:stretch;justify-items:center}
.test-item{background:linear-gradient(90deg,var(--pink),#FF9BC0);padding:18px;border-radius:10px;border:0;color:#fff;width:100%;max-width:360px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
.test-item p{margin:0 0 10px;color:#fff;font-size:1rem}
.test-item cite{font-size:.95rem;color:rgba(255,255,255,0.9)}
@media (max-width:600px){
  /* Make testimonials swipeable on small screens */
  .test-grid{
    display:flex;
    gap:18px;
    padding:8px 6px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .test-grid::-webkit-scrollbar{display:none}

  .test-item{
    flex:0 0 88%;
    scroll-snap-align:center;
    width:auto;
    max-width:none;
    text-align:left;
    box-shadow:0 6px 20px rgba(0,0,0,0.08);
    border-radius:12px;
    padding:18px;
    margin:0;
  }
  .test-item p{font-size:1.03rem;line-height:1.45}
  .test-item cite{display:block;margin-top:10px;color:rgba(255,255,255,0.95);font-style:normal}
}
@media (max-width:600px){
  .test-grid{grid-template-columns:1fr;gap:18px;justify-items:stretch}
  .test-item{max-width:none;width:100%;box-shadow:none;padding:16px;text-align:left;border-radius:12px}
  .test-item p{font-size:1.03rem;line-height:1.45}
    .test-item cite{display:block;margin-top:10px;color:rgba(255,255,255,0.95);font-style:normal}
}
.site-footer{padding:18px 0;border-top:1px solid rgba(0,0,0,.04);color:var(--muted);font-size:.9rem}

/* Footer contact link color */
.site-footer .contact a{color:var(--pink);font-weight:600;text-decoration:none}
.site-footer .contact a:hover{text-decoration:underline}
/* Footer phone link color */
.site-footer .phone a{color:var(--pink);font-weight:600;text-decoration:none}
.site-footer .phone a:hover{text-decoration:underline}

/* FAQ */
.faq{padding:18px 0}
.faq h3{margin:0 0 12px;color:var(--choc);display:flex;align-items:center;gap:10px;font-size:1.05rem}
.faq-icon{width:20px;height:20px;flex:0 0 20px;color:var(--pink);fill:var(--pink);display:inline-block;font-size:20px;line-height:1}
.faq-icon path{fill:var(--pink)}

/* Bootstrap Icons in buttons */
.btn .bi{font-size:18px;line-height:1;display:inline-block;flex:0 0 18px}
/* Short label for header nav button (hidden by default) */
.site-header nav a .nav-short{display:none;}
.faq details{background:#fff;border:1px solid rgba(0,0,0,.04);border-radius:8px;padding:10px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:600;list-style:none;color:var(--choc);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0}
.faq summary span{flex:1}
.dropdown-icon{font-size:18px;line-height:1;color:var(--muted);transition:transform .18s ease, color .18s}
.faq details[open] .dropdown-icon{transform:rotate(180deg);color:var(--choc)}
.faq details p{margin:8px 0 0;color:var(--muted)}

/* Modal */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.25));z-index:60}
.modal[aria-hidden="false"]{display:flex}
.modal-panel{background:white;padding:18px;border-radius:12px;min-width:320px;max-width:420px;box-shadow:0 10px 40px rgba(0,0,0,.12)}
.modal-panel .close{position:absolute;margin-left:0;transform:translateX(240px);background:none;border:0;font-size:22px;cursor:pointer}
.modal-panel h3{margin-top:4px}
form label{display:block;margin:10px 0;font-size:.95rem}
input,select,textarea{width:100%;padding:8px;border-radius:8px;border:1px solid #eee}
.modal-actions{display:flex;gap:8px;margin-top:12px}

@media(max-width:720px){
  .hero{flex-direction:column;gap:14px;padding:22px 0}
  .hero-media{order:2}
  .hero-image{max-width:260px}
  .donut-art{width:120px}
  .container{padding:0 14px}
}

/* Responsive gallery columns */
@media (max-width:900px) {
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px) {
  .gallery-grid{grid-template-columns:1fr}
}

/* Mobile tweaks (small phones) */
  @media (max-width:480px) {
    .container{padding:0 12px}
    .logo h1{font-size:1.25rem}
    .donut-logo{width:48px;height:48px}
    /* keep header in a single row on small screens and make the order button compact */
    .site-header > .container{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
    .site-header nav{width:auto}
    .site-header .btn.primary{width:auto;text-align:center;padding:8px 10px;justify-content:center;border-radius:8px;min-width:0;font-size:.95rem}
    .site-header .btn.primary .bi{margin-right:6px}

    /* Show compact 'Order' label on very small screens */
    .site-header nav a .nav-text{display:none}
    .site-header nav a .nav-short{display:inline-block}

    /* Hero: reduce padding and stack CTAs */
    .hero{padding:14px 0;align-items:flex-start}
    .hero-content h1{font-size:1.6rem;text-align: center;}
    .hero-content p{font-size:1rem;text-align: center;}
    .hero-ctas{flex-direction:column;gap:8px}
    .hero-ctas .btn{width:100%;justify-content:center}

    /* Hide large hero media on tiny screens to save space */
    .hero-media{display:none}

    /* Gallery: tighter spacing and smaller image heights for phones */
    .gallery-grid{gap:6px}
    .gallery-item img{height:140px}
    .gallery h3{font-size:1.2rem}
    .gallery p{font-size:.95rem}
    .gallery-actions{margin-top:10px}

    /* Ensure buttons are comfortable to tap */
    .btn{padding:14px 16px;min-height:44px}
    #gallery-more{width:100%;padding:12px 16px}

    /* Lightbox: slightly smaller controls on mobile */
    .lightbox-img{max-width:96%;max-height:76%}
    .lightbox-prev,.lightbox-next{font-size:32px;padding:8px}
    .lightbox-close{font-size:26px;right:12px;top:10px}

    /* Card/grid fallbacks */
    .cards{grid-template-columns:1fr;gap:12px}
    .product-img{height:140px}
    .card{padding:12px}

    .btn{padding:12px 14px}
    .card .btn{width:100%}

    .faq details{padding:12px}
  }
