/* ============================================================
   Goggsy's Goodies — shared stylesheet
   Edit colours, fonts and spacing here to change the whole site.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,600&family=DM+Sans:wght@300;400;500;700&display=swap');

:root{
  --choc:#4D342B;      /* primary ink / dark */
  --choc-dark:#2E2019; /* footer, deep sections */
  --pink:#FED6F1;      /* candy pink brand field */
  --blush:#FEEFF7;     /* soft blush background */
  --rose:#D46FA8;      /* key accent */
  --cream:#FFF9F5;     /* page background */
  --ink-soft:#6B4A3E;  /* body text on light */
  --muted:#8A6B5C;     /* muted text */
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;color:var(--choc);background:var(--cream);line-height:1.6;}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:600;}

/* ---- shared bits ---- */
.eyebrow{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--rose);font-weight:700;margin-bottom:10px;}
.btn{display:inline-block;padding:12px 22px;border-radius:12px;font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;transition:background .15s,transform .1s;}
.btn:active{transform:scale(0.98);}
.btn-primary{background:var(--choc);color:var(--pink);}
.btn-primary:hover{background:#3a2620;}
.btn-outline{border:2px solid var(--choc);}
.btn-outline:hover{background:var(--blush);}
.btn-lg{padding:15px 28px;border-radius:14px;font-size:15px;}

/* ---- announcement bar ---- */
.announce{background:var(--choc);color:var(--pink);text-align:center;font-size:13px;letter-spacing:0.3px;padding:9px 16px;}

/* ---- header / nav ---- */
header{position:sticky;top:0;background:var(--cream);z-index:50;border-bottom:1px solid #F0DCE6;}
nav{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo-mark{display:flex;align-items:center;gap:10px;}
.logo-mark img{width:46px;height:46px;border-radius:50%;}
.logo-mark span{font-family:'Cormorant Garamond',serif;font-weight:600;font-style:italic;font-size:22px;}
.navlinks{display:flex;gap:24px;font-size:14.5px;font-weight:500;}
.navlinks a:hover,.navlinks a.active{color:var(--rose);}
.nav-right{display:flex;align-items:center;gap:14px;}
.social-row{display:flex;gap:8px;}
.social-row a{width:34px;height:34px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--choc);}
.social-row a:hover{background:#f9c2e6;}
.nav-toggle{display:none;background:none;border:0;font-size:26px;color:var(--choc);cursor:pointer;line-height:1;}
@media (max-width:880px){
  .navlinks{position:absolute;top:100%;left:0;right:0;background:var(--cream);flex-direction:column;gap:0;padding:8px 32px 16px;border-bottom:1px solid #F0DCE6;display:none;}
  .navlinks.open{display:flex;}
  .navlinks a{padding:12px 0;border-bottom:1px solid #F5E7EF;}
  .nav-toggle{display:block;}
  .nav-right .social-row{display:none;}
}

/* ---- page banner (inner pages) ---- */
.page-banner{background:var(--blush);text-align:center;padding:56px 0 44px;}
.page-banner h1{font-size:48px;line-height:1.05;}
.page-banner p{color:var(--ink-soft);max-width:560px;margin:12px auto 0;font-size:16px;}
@media (max-width:700px){ .page-banner h1{font-size:34px;} }

/* ---- hero (home) ---- */
.hero{position:relative;padding:56px 0 40px;text-align:center;}
.stamp{position:absolute;top:30px;right:6%;width:100px;height:100px;border-radius:50%;border:2px dashed var(--rose);display:flex;align-items:center;justify-content:center;transform:rotate(10deg);font-family:'Cormorant Garamond',serif;font-weight:600;font-style:italic;font-size:13px;color:var(--rose);text-align:center;line-height:1.25;}
.hero h1{font-size:56px;line-height:1.06;max-width:760px;margin:0 auto 16px;}
.hero h1 .sw{color:var(--rose);}
.hero p.lead{font-size:16.5px;color:var(--ink-soft);max-width:520px;margin:0 auto 28px;}
.btnrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:44px;}
.heroimgs{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
.heroimgs .card{width:220px;height:260px;border-radius:16px;overflow:hidden;border:5px solid #fff;box-shadow:0 12px 26px rgba(77,52,43,0.16);}
.heroimgs .card img{width:100%;height:100%;object-fit:cover;}
.heroimgs .card:nth-child(1){transform:rotate(-5deg);}
.heroimgs .card:nth-child(2){transform:rotate(2deg) translateY(-12px);}
.heroimgs .card:nth-child(3){transform:rotate(-2deg);}
@media (max-width:700px){ .hero h1{font-size:38px;} .heroimgs .card{width:150px;height:180px;} .stamp{display:none;} }

/* ---- trust strip ---- */
.trust{background:var(--blush);padding:16px 0;text-align:center;font-size:13.5px;font-weight:600;color:var(--ink-soft);}
.trust b{color:var(--rose);}

/* ---- meet amy ---- */
.meetamy{padding:80px 0;}
.meetamy .inner{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;align-items:center;}
.meetamy .photo{border-radius:50%;overflow:hidden;aspect-ratio:1/1;box-shadow:0 14px 30px rgba(77,52,43,0.14);}
.meetamy .photo img{width:100%;height:100%;object-fit:cover;}
.meetamy h2{font-size:36px;margin-bottom:16px;}
.bubble{background:#fff;border-radius:18px;padding:18px 22px;margin-bottom:16px;box-shadow:0 6px 16px rgba(77,52,43,0.07);}
.bubble p{font-size:15px;}
@media (max-width:880px){ .meetamy .inner{grid-template-columns:1fr;text-align:center;} .meetamy .photo{max-width:280px;margin:0 auto;} }

/* ---- offer cards ---- */
.offer{background:var(--blush);padding:80px 0;}
.section-head{text-align:center;margin-bottom:44px;}
.section-head h2{font-size:34px;margin-bottom:8px;}
.section-head .sub{color:var(--muted);}
.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ocard{background:#fff;border-radius:18px;overflow:hidden;}
.ocard .im{height:200px;}
.ocard .im img{width:100%;height:100%;object-fit:cover;}
.ocard .b{padding:20px 22px;}
.ocard h3{font-size:21px;margin-bottom:6px;}
.ocard p{font-size:14px;color:var(--ink-soft);}
@media (max-width:880px){ .ogrid{grid-template-columns:1fr;} }

/* ---- gallery teaser ---- */
.gallery-teaser{padding:80px 0;}
.gt-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;flex-wrap:wrap;gap:14px;}
.gt-head h2{font-size:34px;}
.mgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:12px;}
.mgrid img{width:100%;height:100%;object-fit:cover;border-radius:12px;}
.mgrid .g1{grid-column:span 2;grid-row:span 2;}
@media (max-width:880px){ .mgrid{grid-template-columns:repeat(2,1fr);} .mgrid .g1{grid-column:span 2;grid-row:span 1;} }

/* ---- pricing ---- */
.pricing{background:var(--choc);color:#FFF6EE;padding:80px 0;}
.pricing h2{font-style:italic;font-size:34px;text-align:center;margin-bottom:8px;color:var(--pink);}
.pricing .sub{text-align:center;color:#E9C9D6;margin-bottom:44px;font-size:14.5px;}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.pcard{border:1px solid rgba(255,255,255,0.15);border-radius:16px;padding:22px 24px;}
.pcard h3{font-size:19px;margin-bottom:4px;}
.pcard .price{color:#F0A8C4;font-weight:700;font-size:15px;margin-bottom:8px;}
.pcard p{font-size:13.5px;color:#D8C0CA;}
.pricing-note{text-align:center;margin-top:30px;font-size:13.5px;color:#D8C0CA;}
.pricing-note a{color:#F0A8C4;font-weight:700;}
@media (max-width:880px){ .pgrid{grid-template-columns:1fr;} }

/* ---- shed ---- */
.shed{padding:80px 0;}
.shed .inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
.shed img{border-radius:18px;box-shadow:0 14px 30px rgba(77,52,43,0.14);width:100%;}
.shed h2{font-size:34px;margin-bottom:14px;}
.shed p{font-size:15px;color:var(--ink-soft);margin-bottom:10px;}
.shed .hours{background:var(--blush);border-radius:14px;padding:16px 20px;margin:16px 0;font-weight:700;font-size:15px;}
.areas-pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.areas-pill-row span{background:#fff;border:1px solid #F0DCE6;padding:6px 14px;border-radius:20px;font-size:12.5px;font-weight:600;color:var(--ink-soft);}
@media (max-width:880px){ .shed .inner{grid-template-columns:1fr;} }

/* ---- testimonials ---- */
.testi{padding:80px 0;text-align:center;}
.testi h2{font-size:34px;margin-bottom:44px;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left;}
.tcard{background:var(--blush);border-radius:16px;padding:26px;}
.tcard .stars{color:var(--rose);margin-bottom:12px;}
.tcard p{font-size:14px;color:#5c4238;font-style:italic;}
.tcard .who{margin-top:14px;font-size:12.5px;font-weight:700;color:#8A5068;}
@media (max-width:880px){ .tgrid{grid-template-columns:1fr;} }

/* ---- cta band ---- */
.cta{background:var(--pink);text-align:center;padding:70px 0;}
.cta h2{font-style:italic;font-size:32px;margin-bottom:12px;}
.cta p{margin-bottom:24px;color:var(--ink-soft);}

/* ---- about page ---- */
.about-intro{padding:70px 0;}
.about-intro .inner{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;}
.about-intro .photo{border-radius:50%;overflow:hidden;aspect-ratio:1/1;box-shadow:0 14px 30px rgba(77,52,43,0.14);}
.about-intro .photo img{width:100%;height:100%;object-fit:cover;}
.about-intro h2{font-size:40px;margin-bottom:8px;}
.about-intro .role{font-weight:700;color:var(--rose);margin-bottom:18px;font-size:15px;}
.about-intro p{margin-bottom:14px;color:var(--ink-soft);}
.about-intro em{font-style:italic;color:var(--choc);}
@media (max-width:880px){ .about-intro .inner{grid-template-columns:1fr;} .about-intro .photo{max-width:320px;margin:0 auto;} }
.about-story{background:var(--blush);padding:70px 0;}
.about-story .col{max-width:760px;margin:0 auto;}
.about-story h3{font-size:28px;margin:0 0 14px;}
.about-story p{margin-bottom:16px;color:var(--ink-soft);}
.believe{padding:70px 0;}
.believe .section-head{margin-bottom:36px;}
.blist{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:900px;margin:0 auto;}
.bitem{display:flex;gap:14px;background:#fff;border:1px solid #F0DCE6;border-radius:14px;padding:20px 22px;}
.bitem .dot{width:26px;height:26px;border-radius:50%;background:var(--rose);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.bitem h4{font-size:18px;margin-bottom:4px;}
.bitem p{font-size:13.5px;color:var(--ink-soft);}
@media (max-width:700px){ .blist{grid-template-columns:1fr;} }

/* ---- menu page ---- */
.menu-section{padding:64px 0;}
.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:26px 48px;max-width:1000px;margin:0 auto;}
.menu-item{border-bottom:1px solid #EEDDE5;padding-bottom:22px;}
.menu-item .top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px;}
.menu-item h3{font-size:23px;color:var(--choc);}
.menu-item .price{font-weight:700;color:var(--rose);white-space:nowrap;font-size:15px;}
.menu-item p{font-size:14px;color:var(--ink-soft);}
@media (max-width:760px){ .menu-list{grid-template-columns:1fr;} }
.shed-menu{background:var(--choc);color:#FFF6EE;padding:70px 0;}
.shed-menu .inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:50px;align-items:center;}
.shed-menu img{border-radius:18px;width:100%;}
.shed-menu h2{color:var(--pink);font-size:32px;margin-bottom:14px;}
.shed-menu p{color:#E9C9D6;margin-bottom:12px;font-size:15px;}
.shed-menu .hours{background:rgba(254,214,241,0.14);border-radius:14px;padding:14px 18px;font-weight:700;margin:14px 0;}
.shed-menu ul{list-style:none;margin:10px 0;}
.shed-menu li{padding:6px 0 6px 26px;position:relative;font-size:14.5px;color:#F3E4DE;}
.shed-menu li:before{content:'';position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:var(--rose);}
@media (max-width:880px){ .shed-menu .inner{grid-template-columns:1fr;} }
.menu-note{text-align:center;max-width:640px;margin:40px auto 0;color:var(--muted);font-size:14px;}

/* ---- gallery page ---- */
.filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:0 0 34px;}
.filter-btn{border:1.5px solid #E5CDD9;background:#fff;color:var(--choc);padding:9px 18px;border-radius:22px;font-family:'DM Sans';font-size:13.5px;font-weight:600;cursor:pointer;transition:.15s;}
.filter-btn:hover{border-color:var(--rose);}
.filter-btn.active{background:var(--choc);color:var(--pink);border-color:var(--choc);}
.masonry{columns:4;column-gap:14px;}
.masonry .tile{break-inside:avoid;margin-bottom:14px;border-radius:14px;overflow:hidden;cursor:pointer;position:relative;}
.masonry .tile img{width:100%;display:block;transition:transform .3s;}
.masonry .tile:hover img{transform:scale(1.04);}
@media (max-width:1100px){ .masonry{columns:3;} }
@media (max-width:760px){ .masonry{columns:2;} }
@media (max-width:460px){ .masonry{columns:1;} }
.lightbox{position:fixed;inset:0;background:rgba(30,18,12,0.9);display:none;align-items:center;justify-content:center;z-index:200;padding:24px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:88vh;border-radius:10px;}
.lightbox .close{position:absolute;top:20px;right:26px;color:#fff;font-size:34px;cursor:pointer;line-height:1;background:none;border:0;}

/* ---- faqs ---- */
.faq-wrap{max-width:780px;margin:0 auto;padding:56px 0 20px;}
.faq{border-bottom:1.5px solid #F0DCE6;}
.faq button{width:100%;text-align:left;background:none;border:0;padding:22px 4px;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;font-family:'DM Sans';font-size:16px;font-weight:600;color:var(--choc);}
.faq .icon{color:var(--rose);font-size:22px;transition:transform .2s;flex-shrink:0;}
.faq.open .icon{transform:rotate(45deg);}
.faq .answer{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq .answer p{padding:0 4px 22px;color:var(--ink-soft);font-size:14.5px;}

/* ---- contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:60px 0;align-items:start;}
.contact-card{background:var(--blush);border-radius:18px;padding:30px;}
.contact-card h3{font-size:24px;margin-bottom:8px;}
.contact-card p{color:var(--ink-soft);font-size:14.5px;margin-bottom:18px;}
.contact-method{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #EAD6E1;}
.contact-method .ic{width:40px;height:40px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--rose);flex-shrink:0;}
.contact-method .t{font-size:13px;color:var(--muted);}
.contact-method .v{font-weight:600;font-size:14.5px;}
.form-field{margin-bottom:16px;}
.form-field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--choc);}
.form-field input,.form-field textarea{width:100%;border:1.5px solid #E5CDD9;border-radius:10px;padding:11px 14px;font-family:'DM Sans';font-size:14.5px;color:var(--choc);background:#fff;}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--rose);}
.form-note{font-size:12.5px;color:var(--muted);margin-top:12px;}
@media (max-width:860px){ .contact-grid{grid-template-columns:1fr;} }

/* ---- footer ---- */
footer{background:var(--choc-dark);color:#D8C0CA;padding:56px 0 0;}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:32px;padding-bottom:40px;}
.footgrid h5{color:var(--pink);font-size:13px;letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;font-family:'DM Sans';font-weight:700;}
.footgrid a,.footgrid p{display:block;margin-bottom:8px;font-size:13.5px;color:#D8C0CA;}
.footgrid a:hover{color:var(--pink);}
.foot-logo{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.foot-logo img{width:40px;height:40px;border-radius:50%;}
.foot-logo span{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:600;font-size:20px;color:var(--pink);}
.foot-social{display:flex;gap:10px;margin-top:6px;}
.foot-social a{width:32px;height:32px;border-radius:50%;background:rgba(254,214,241,0.14);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--pink);}
.map-wrap{border-radius:12px;overflow:hidden;height:150px;margin-top:10px;}
.map-wrap iframe{width:100%;height:100%;border:0;}
.footbottom{border-top:1px solid rgba(255,255,255,0.1);padding:18px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:#A8907F;}
.footbottom a{color:#F0A8C4;font-weight:600;}
@media (max-width:860px){ .footgrid{grid-template-columns:1fr 1fr;} }
