/*
Theme Name: Helliwell Hospitality
Theme URI: https://helliwellhospitality.com.au
Author: Magik Digital
Author URI: https://magikdigital.com.au
Description: Bespoke theme for Helliwell Hospitality — ten venues across four regions. Built from the approved design. Pairs with the "Helliwell Hospitality Content" plugin, which seeds pages, venues, news and Contact Form 7 forms.
Version: 1.0.5
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: helliwell
Tags: custom-menu, featured-images, translation-ready
*/

/* ---------- tokens ---------- */
:root{
  --accent:#FFC20E;
  --ink:#1C1B19;
  --sand:#E8E3D9;
  --tickd:48s;
  --story-w:40%;
  --rule:0;
}

/* ---------- base (from design) ---------- */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent,#FFC20E)}
input,select,textarea,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent,#FFC20E);outline-offset:3px}
::selection{background:var(--accent,#FFC20E);color:#000}
iframe{max-width:100%}

@keyframes hh-ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* ---------- generated hover / focus / pseudo rules ---------- */
.hh-h1:hover{background:#000 !important;color:#fff !important}
.hh-h2:hover{border-bottom-color:var(--accent,#FFC20E) !important;color:#000 !important}
.hh-h3:hover{border-bottom-color:var(--accent,#FFC20E) !important}
.hh-f4:focus{border-bottom-color:var(--accent,#FFC20E) !important}
.hh-h5:hover{color:#000 !important}
.hh-h6:hover{border-bottom-color:var(--accent,#FFC20E) !important;color:#fff !important}
.hh-h7:hover{background:#fff !important;color:#000 !important}
.hh-h8:hover{transform:scale(1.03) !important}
.hh-h9:hover{background:rgba(255,255,255,.14) !important;border-color:#fff !important;color:#fff !important}
.hh-h10:hover{color:#000 !important;border-bottom-color:#000 !important}
.hh-h11:hover{--rule:1 !important}
.hh-h12:hover{color:#1C1B19 !important}
.hh-h13:hover{color:var(--accent,#FFC20E) !important}
.hh-h14:hover{background:var(--accent,#FFC20E) !important;color:#000 !important}
.hh-h15:hover{color:#fff !important;border-bottom-color:var(--accent,#FFC20E) !important}

/* ---------- shared chrome ---------- */
.hh-navlink:hover{border-bottom-color:var(--accent,#FFC20E) !important;color:#fff !important}
.hh-droplink:hover,.hh-drawerlink:hover,.hh-footlink:hover,.hh-social:hover{color:var(--accent,#FFC20E) !important}
[data-hh="venuespanel"]::before{content:'';position:absolute;left:0;right:0;top:-19px;height:20px}

/* ---------- WordPress admin bar offset ---------- */
body.admin-bar-showing [data-hh="nav"]{top:32px}
@media screen and (max-width:782px){body.admin-bar-showing [data-hh="nav"]{top:46px}}

/* ---------- responsive (from design) ---------- */
@media (max-width:720px){
  section a{padding-top:12px;padding-bottom:12px}
  section a:has(img){padding-top:0;padding-bottom:0}
  section a[href^="#"]{display:inline-flex;align-items:center;min-height:40px}
  section a[href^="#"][style*="border-bottom"]{display:inline;min-height:0}
  footer a{display:block;padding-top:10px;padding-bottom:10px}
  footer p a{display:inline;padding-top:0;padding-bottom:0}
  .hh-droplink,.hh-drawerlink{padding-top:0;padding-bottom:0}
}
@media (max-width:640px){
  [data-hh="footerbar"]{justify-content:center}
  [data-hh="footerbar"]>div{justify-content:center}
  [data-hh="footerbar"]>p{flex:1 1 100%;text-align:center}
}
@media (max-width:560px){
  h1{font-variation-settings:'wdth' 100 !important}
}

/* ---------- Contact Form 7, restyled to match the design ---------- */
.hh-form .wpcf7-form{display:flex;flex-wrap:wrap;gap:clamp(16px,1.8vw,26px)}
.hh-form .hh-field{flex:1 1 200px;display:flex;flex-direction:column;gap:8px;min-width:0}
.hh-form .hh-field--wide{flex:1 1 100%}
.hh-form .hh-label{font-size:13px;color:#A8A29A;letter-spacing:.02em}
.hh-form .wpcf7-form-control-wrap{display:block}
.hh-form input[type=text],.hh-form input[type=email],.hh-form input[type=tel],
.hh-form input[type=date],.hh-form input[type=number],.hh-form select,.hh-form textarea{
  width:100%;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.28);
  color:#fff;font-size:16px;padding:8px 0;outline:none;border-radius:0;
  transition:border-color .2s ease;appearance:none;-webkit-appearance:none}
.hh-form select option{color:#000}
.hh-form textarea{resize:vertical;min-height:84px}
.hh-form input:focus,.hh-form select:focus,.hh-form textarea:focus{border-bottom-color:var(--accent,#FFC20E)}
.hh-form input::placeholder,.hh-form textarea::placeholder{color:#6f6a63}
.hh-form input[type=file]{width:100%;font-size:14px;color:#A8A29A;padding:10px 0;border:0;
  border-bottom:1px solid rgba(255,255,255,.28)}
.hh-form input[type=file]::file-selector-button{margin-right:14px;padding:10px 18px;background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.28);color:#fff;font-size:14px;font-weight:600;cursor:pointer}
.hh-form input[type=file]::file-selector-button:hover{background:var(--accent,#FFC20E);color:#000;border-color:var(--accent,#FFC20E)}
.hh-form .wpcf7-submit{align-self:flex-start;padding:15px 30px;background:var(--accent,#FFC20E);color:#000;
  border:0;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s ease}
.hh-form .wpcf7-submit:hover{background:#fff;color:#000}
.hh-form .wpcf7-spinner{margin:0 0 0 14px;align-self:center}
.hh-form .wpcf7-not-valid-tip{color:var(--accent,#FFC20E);font-size:13px;margin-top:6px}
.hh-form .wpcf7-response-output{flex:1 1 100%;margin:0;padding:14px 18px;font-size:14px;line-height:1.5;
  border:1px solid rgba(255,255,255,.28);color:#E8E3D9}
.hh-form .wpcf7 form.sent .wpcf7-response-output{border-color:var(--accent,#FFC20E);color:#fff}
.hh-form .wpcf7 form.invalid .wpcf7-response-output,
.hh-form .wpcf7 form.unaccepted .wpcf7-response-output{border-color:#c0392b}
.hh-form .hh-consent{flex:1 1 100%;font-size:13px;line-height:1.5;color:#A8A29A}
.hh-form .hh-consent .wpcf7-list-item{margin:0}
/* fallback notice, shown only when Contact Form 7 is inactive */
.hh-placeholder{padding:22px 24px;border:1px solid rgba(255,255,255,.28)}
.hh-placeholder__title{margin:0 0 8px;font-size:15px;font-weight:600;color:#fff}
.hh-placeholder__body{margin:0;font-size:14px;line-height:1.6;color:#A8A29A}
.hh-placeholder__body strong{color:#E8E3D9}
.hh-placeholder__body a{color:#fff;border-bottom:1px solid rgba(255,255,255,.4)}
.hh-placeholder__body a:hover{color:var(--accent,#FFC20E)}
/* light-ground variant, for forms placed on white or sand sections */
.hh-form--light input[type=text],.hh-form--light input[type=email],.hh-form--light input[type=tel],
.hh-form--light input[type=date],.hh-form--light input[type=number],.hh-form--light select,
.hh-form--light textarea,.hh-form--light input[type=file]{color:var(--ink);border-bottom-color:rgba(28,27,25,.28)}
.hh-form--light .hh-label{color:#57534c}
.hh-form--light .wpcf7-response-output{border-color:rgba(28,27,25,.28);color:var(--ink)}
.hh-form--light .wpcf7-submit:hover{background:#000;color:#fff}
.hh-form--light .hh-placeholder{border-color:rgba(28,27,25,.28)}
.hh-form--light .hh-placeholder__title{color:#000}
.hh-form--light .hh-placeholder__body{color:#57534c}
.hh-form--light .hh-placeholder__body strong{color:var(--ink)}
.hh-form--light .hh-placeholder__body a{color:var(--ink);border-bottom-color:#d6d1c8}

/* ---------- news pagination ---------- */
.hh-pagination{margin-top:clamp(32px,4vw,56px)}
.hh-pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.hh-pagination .nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.hh-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:6px 10px;font-family:Archivo,'Helvetica Neue',sans-serif;font-size:15px;color:#6f6a63;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}
.hh-pagination a.page-numbers:hover{color:#000;border-bottom-color:var(--accent,#FFC20E)}
.hh-pagination .page-numbers.current{color:var(--ink);border-bottom-color:var(--accent,#FFC20E);font-weight:600}
.hh-pagination .page-numbers.dots{min-width:0;color:#a8a29a;border-bottom:0}
.hh-pagination .prev,.hh-pagination .next{font-weight:600;color:var(--ink)}

/* ---------- editor / fallback content ---------- */
.hh-prose{font-family:Newsreader,Georgia,serif;font-size:clamp(17px,1.35vw,21px);line-height:1.72;color:var(--ink)}
.hh-prose h2{font-family:Archivo,'Helvetica Neue',sans-serif;font-weight:700;font-variation-settings:'wdth' 108;
  font-size:clamp(24px,2.4vw,38px);line-height:1.1;letter-spacing:-.022em;color:#000;margin:2em 0 .6em}
.hh-prose h3{font-family:Archivo,'Helvetica Neue',sans-serif;font-weight:600;font-size:clamp(20px,1.8vw,26px);
  line-height:1.2;color:#000;margin:1.8em 0 .5em}
.hh-prose p{margin:0 0 22px;max-width:62ch;text-wrap:pretty}
.hh-prose a{border-bottom:1px solid #d6d1c8;padding-bottom:2px}
.hh-prose a:hover{border-bottom-color:var(--accent,#FFC20E)}
.hh-prose img,.hh-prose figure{margin:32px 0;max-width:100%}
.hh-prose figcaption{font-family:Archivo,'Helvetica Neue',sans-serif;font-size:14px;color:#57534c;margin-top:12px}
.hh-prose blockquote{margin:32px 0;padding-left:24px;border-left:2px solid var(--accent,#FFC20E)}
.hh-prose ul,.hh-prose ol{margin:0 0 22px;padding-left:1.3em;max-width:62ch}
.hh-prose li{margin-bottom:.5em}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
