/* Post Café — Marrickville. Base + interaction + responsive styles. */

html,body{margin:0;padding:0;background:#F7F3EA;}
*{box-sizing:border-box;}
body{font-family:'Jost',sans-serif;color:#22312A;-webkit-font-smoothing:antialiased;}
a{color:#1E4A34;text-decoration:none;}
a:hover{color:#B08D3E;}
::selection{background:#1E4A34;color:#F7F3EA;}
img{max-width:100%;}
input,select,textarea{font-family:'Jost',sans-serif;}

@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* ---- Header / nav ---- */
.navlink{color:#22312A;transition:color .25s;}
.navlink:hover{color:#B08D3E;}
.navlink.active{color:#B08D3E;}
.btn-book{background:#1E4A34;color:#F7F3EA;padding:12px 26px;transition:background .25s,color .25s;}
.btn-book:hover{background:#B08D3E;color:#1A130A;}

/* ---- Buttons ---- */
.btn-gold{background:#B08D3E;color:#1A130A;padding:15px 34px;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;transition:background .25s;display:inline-block;}
.btn-gold:hover{background:#CBA95F;color:#1A130A;}
.btn-outline-light{border:1px solid rgba(247,243,234,0.7);color:#F7F3EA;padding:15px 34px;font-size:13px;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;transition:all .25s;display:inline-block;}
.btn-outline-light:hover{background:#F7F3EA;color:#1E4A34;}
.btn-submit{margin-top:26px;width:100%;background:#1E4A34;color:#F7F3EA;border:none;padding:16px;font-size:13px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;cursor:pointer;font-family:'Jost',sans-serif;transition:background .25s,color .25s;}
.btn-submit:hover{background:#B08D3E;color:#1A130A;}
.btn-reset{background:none;border:1px solid #1E4A34;color:#1E4A34;padding:12px 28px;font-size:12px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;font-family:'Jost',sans-serif;transition:background .25s,color .25s;}
.btn-reset:hover{background:#1E4A34;color:#F7F3EA;}

/* ---- Menu teaser image hover ---- */
.menu-img{width:100%;height:420px;object-fit:cover;display:block;transition:transform .5s;}
.menu-img:hover{transform:scale(1.04);}

/* ---- Footer ---- */
.footlink{color:rgba(232,223,201,0.85);transition:color .25s;}
.footlink:hover{color:#CBA95F;}
.footlink-muted{color:rgba(232,223,201,0.6);transition:color .25s;}
.footlink-muted:hover{color:#CBA95F;}
.social{color:rgba(232,223,201,0.85);display:flex;transition:color .25s;}
.social:hover{color:#CBA95F;}

/* ---- Contact detail links ---- */
.detail-link{color:#1E4A34;transition:color .25s;}
.detail-link:hover{color:#B08D3E;}
.social-dark{color:#1E4A34;display:flex;transition:color .25s;}
.social-dark:hover{color:#B08D3E;}
.inline-underline{color:#1E4A34;border-bottom:1px solid #B08D3E;transition:color .25s;}
.inline-underline:hover{color:#B08D3E;}

/* ---- Forms ---- */
.field{border:1px solid rgba(30,74,52,0.25);background:#FDFBF6;padding:13px 14px;font-size:15px;font-weight:300;color:#22312A;outline-color:#B08D3E;width:100%;}
textarea.field{resize:vertical;}
.form-err{color:#9C3B22;font-size:13px;margin-top:14px;}

/* ---- Gallery ---- */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gallery-item{overflow:hidden;}
.gallery-item img{width:100%;height:380px;object-fit:cover;display:block;transition:transform .5s;}
.gallery-item:hover img{transform:scale(1.04);}

/* ---- Responsive ---- */
@media (max-width:860px){
  .gallery-grid{grid-template-columns:repeat(2,1fr) !important;gap:14px !important;}
  .gallery-item img{height:240px !important;}
  html,body{overflow-x:hidden;}

  /* Page gutters */
  .page-pad{padding-left:20px !important;padding-right:20px !important;}
  section.page-pad{padding-top:64px !important;padding-bottom:64px !important;}

  /* Header: stacked and centred; not sticky, so it doesn't eat the small viewport */
  .site-header{position:static !important;flex-direction:column;justify-content:center;
    align-items:center;gap:14px;padding:16px 20px !important;}
  .site-header > a{justify-content:center;}
  .site-header img{height:60px !important;}
  .nav{gap:18px !important;font-size:12px !important;flex-wrap:wrap;justify-content:center;}

  /* Stack the multi-column grids */
  .grid-2{grid-template-columns:1fr !important;gap:44px !important;}
  .grid-3{grid-template-columns:1fr !important;}
  .photo-strip{grid-template-columns:1fr !important;}
  .form-grid{grid-template-columns:1fr !important;}
  .card{padding:28px !important;}

  /* Story: the offset gold frame overflows at this width, so drop it */
  .story-frame{display:none !important;}
  .story-media img{height:360px !important;}

  /* Contact detail rows: stack label above value */
  .detail-row{grid-template-columns:1fr !important;gap:6px !important;padding:20px 0 !important;}

  /* Functions "what we host" list */
  .use-list{grid-template-columns:1fr !important;}

  /* Footer: one column, single gutter */
  footer{padding:56px 20px 32px !important;}
  footer .page-pad{padding-left:0 !important;padding-right:0 !important;
    grid-template-columns:1fr !important;gap:32px !important;}
  .footer-bottom{flex-direction:column;align-items:center;gap:14px;text-align:center;
    margin-top:40px !important;}
}
@media (max-width:540px){
  .nav{gap:14px !important;}
  .nav .btn-book{padding:10px 18px;}
  .hero-inner{padding:0 20px 48px !important;}
  .menu-img,div.menu-img{height:300px !important;}
  .gallery-grid{grid-template-columns:1fr !important;gap:16px !important;}
  .gallery-item img{height:300px !important;}
}
