/*
Theme Name: Rubber Soul
Theme URI: https://rubber-soul.co.uk/
Author: OpenAI
Description: An elevated 1970s-inspired WordPress theme for Rubber Soul Bar, Liverpool. Includes a video-led homepage, cocktail menu, gallery shortcode page, contact and lost property templates.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: rubber-soul
*/

:root{
  /* Palette matched to the supplied Rubber Soul artwork */
  --rs-ink:#142d29;
  --rs-cream:#f3dfad;
  --rs-paper:#ead09a;
  --rs-orange:#e56b19;
  --rs-rust:#a94416;
  --rs-mustard:#efad3c;
  --rs-teal:#07524d;
  --rs-teal-2:#0d6b62;
  --rs-brown:#4a2817;
  --rs-gold:#e7a83b;
  --rs-white:#fff3d0;
  --rs-shadow:0 18px 45px rgba(20,45,41,.25);
  --rs-radius:12px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--rs-cream);
  color:var(--rs-ink);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.65;
  background-image:
    linear-gradient(45deg, rgba(7,82,77,.06) 25%, transparent 25%, transparent 75%, rgba(7,82,77,.06) 75%),
    linear-gradient(45deg, rgba(7,82,77,.06) 25%, transparent 25%, transparent 75%, rgba(7,82,77,.06) 75%);
  background-position:0 0, 12px 12px;
  background-size:24px 24px;
}
body:before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:9999; opacity:.10;
  background-image:
    radial-gradient(circle at 20% 20%, #fff 0 1px, transparent 1px),
    radial-gradient(circle at 80% 70%, #000 0 1px, transparent 1px);
  background-size:7px 7px, 11px 11px;
  mix-blend-mode:multiply;
}
a{color:inherit}
img{max-width:100%;height:auto}
.rs-wrap{width:min(1180px,92%);margin:auto}
.rs-main{min-height:65vh}
.rs-screen-reader{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.rs-header{
  position:absolute; top:0; left:0; right:0; z-index:50;
  color:#fff8e9;
  padding:18px 0;
}
.rs-header-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.rs-brand{display:flex;align-items:center;text-decoration:none}
.rs-brand img{max-height:30px;width:auto}
.rs-brand-name{
  font-family:Georgia,serif;font-weight:900;font-size:28px;letter-spacing:.06em;
  text-transform:uppercase;text-shadow:2px 3px 0 rgba(0,0,0,.25)
}
.rs-menu-toggle{display:none}
.rs-nav ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:9px}
.rs-nav a{
  display:block;padding:10px 15px;text-decoration:none;text-transform:uppercase;
  letter-spacing:.11em;font-weight:800;font-size:12px;border:1px solid transparent;
}
.rs-nav a:hover,.rs-nav .current-menu-item>a{
  border-color:rgba(255,248,233,.65);
  background:rgba(255,248,233,.10);
}

.rs-hero{
  min-height:88vh;position:relative;display:flex;align-items:flex-end;
  overflow:hidden;background:#201514;color:#fff8e9;
}
.rs-hero-video,.rs-hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rs-hero-video{z-index:0}
.rs-hero-poster{z-index:0;background-size:cover;background-position:center}
.rs-hero:after{
  content:"";position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(180deg,rgba(8,43,40,.62),rgba(8,43,40,.48) 38%,rgba(10,20,18,.94)),
    radial-gradient(circle at 50% 45%,transparent 0 20%,rgba(10,20,18,.58) 100%);
}
.rs-hero-pattern{
  position:absolute;z-index:2;inset:0;pointer-events:none;opacity:.34;
  background:
    linear-gradient(45deg, transparent 100%, var(--rs-mustard) 100% 47%, transparent 100%),
    linear-gradient(-45deg, transparent 100%, var(--rs-mustard) 100% 47%, transparent 100%),
    linear-gradient(45deg, transparent 100%, var(--rs-orange) 100% 52%, transparent 53%),
    linear-gradient(-45deg, transparent 100%, var(--rs-orange) 100% 52%, transparent 53%);
  background-size:92px 92px;
  opacity:.20;
  mix-blend-mode:screen;
}
.rs-hero-content{position:relative;z-index:3;padding:110px 0 80px;max-width:850px}
.rs-kicker{
  display:inline-block;font-size:12px;letter-spacing:.25em;font-weight:900;
  text-transform:uppercase;margin-bottom:15px;color:var(--rs-paper)
}
.rs-hero h1{
  font-family:Georgia, 'Times New Roman', serif;font-size:clamp(64px,10vw,145px);
  line-height:.80;letter-spacing:-.065em;margin:0 0 26px;text-transform:uppercase;
  color:var(--rs-white);
  text-shadow:5px 6px 0 var(--rs-orange),10px 12px 0 var(--rs-brown);
}
.rs-hero p{font-size:clamp(17px,2vw,23px);max-width:650px;margin:0 0 28px}
.rs-actions{display:flex;flex-wrap:wrap;gap:12px}
.rs-button{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  padding:13px 21px;border-radius:999px;border:2px solid currentColor;
  text-transform:uppercase;letter-spacing:.11em;font-weight:900;font-size:12px;
  transition:.2s transform,.2s background,.2s color;
}
.rs-button:hover{transform:translateY(-2px)}
.rs-button--light{background:var(--rs-white);color:var(--rs-ink);border-color:var(--rs-white)}
.rs-button--orange{background:var(--rs-orange);color:#fff8e9;border-color:var(--rs-orange)}

.rs-ticker{
  background:var(--rs-orange);color:var(--rs-white);overflow:hidden;white-space:nowrap;
  border-top:3px solid var(--rs-ink);border-bottom:3px solid var(--rs-ink);
}
.rs-ticker-track{display:inline-block;padding:12px 0;font-size:13px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}

.rs-section{padding:95px 0;position:relative}
.rs-section--dark{background:var(--rs-ink);color:var(--rs-white)}
.rs-section--plum{background:var(--rs-plum);color:var(--rs-white)}
.rs-section--paper{background:var(--rs-paper)}
.rs-section-title{
  margin:0 0 16px;font-family:Georgia,serif;font-size:clamp(40px,6vw,76px);
  line-height:.92;text-transform:uppercase;letter-spacing:-.04em;
}
.rs-lead{font-size:19px;max-width:720px}
.rs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rs-card{
  background:var(--rs-white);padding:30px;border:2px solid var(--rs-ink);
  border-radius:var(--rs-radius);box-shadow:var(--rs-shadow);
}
.rs-card--dark{background:#231817;color:var(--rs-white);border-color:var(--rs-white)}
.rs-card h3{font-family:Georgia,serif;font-size:29px;margin:0 0 9px;text-transform:uppercase}
.rs-card p{margin:0}

.rs-page-hero{
  padding:175px 0 80px;color:var(--rs-white);position:relative;overflow:hidden;
  background:var(--rs-plum);
}
.rs-page-hero:before{
  content:"";position:absolute;inset:-30%;opacity:.28;
  background:
    radial-gradient(ellipse at 25% 30%,transparent 0 70px,var(--rs-mustard) 71px 83px,transparent 84px),
    radial-gradient(ellipse at 70% 70%,transparent 0 95px,var(--rs-orange) 96px 108px,transparent 109px);
  transform:rotate(-8deg);
}
.rs-page-hero .rs-wrap{position:relative}
.rs-page-hero h1{font-family:Georgia,serif;font-size:clamp(55px,8vw,105px);line-height:.9;margin:0;text-transform:uppercase}
.rs-content{padding:75px 0}
.rs-content h2,.rs-content h3{font-family:Georgia,serif;text-transform:uppercase}
.rs-content p{font-size:18px}

.rs-cocktails{
  display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:35px
}
.rs-cocktail{
  padding:24px 25px;background:rgba(255,248,233,.78);
  border:2px solid var(--rs-ink);border-radius:14px;position:relative;
}
.rs-cocktail h3{font-family:Georgia,serif;font-size:25px;margin:0 70px 4px 0}
.rs-cocktail .price{position:absolute;right:22px;top:24px;font-weight:900;color:var(--rs-rust)}
.rs-cocktail p{margin:0;font-size:15px}

.rs-gallery-shortcode{
  padding:18px;background:rgba(255,255,255,.45);border:2px dashed var(--rs-ink);border-radius:16px
}
.rs-form-wrap{max-width:760px;margin:auto}
.rs-form-wrap input,.rs-form-wrap textarea,.rs-form-wrap select{
  width:100%;padding:14px 15px;border:2px solid var(--rs-ink);border-radius:8px;
  background:#fffaf0;font:inherit;margin-top:6px
}
.rs-form-wrap label{display:block;font-weight:800;margin:0 0 18px}
.rs-form-wrap input[type=submit]{
  width:auto;border-radius:999px;background:var(--rs-orange);color:#fff;border-color:var(--rs-orange);
  font-weight:900;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;padding:14px 24px
}

.rs-footer{background:#100b0a;color:var(--rs-white);padding:50px 0 25px;border-top:5px solid var(--rs-orange)}
.rs-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}
.rs-footer h3{font-family:Georgia,serif;text-transform:uppercase;font-size:25px;margin:0 0 12px}
.rs-footer p{margin:4px 0;color:#e9d9bd}
.rs-footer a{text-decoration:none}
.rs-footer-bottom{border-top:1px solid rgba(255,255,255,.2);margin-top:35px;padding-top:18px;font-size:12px;opacity:.75}

@media(max-width:850px){
  .rs-menu-toggle{display:block;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);padding:9px 12px;text-transform:uppercase;font-weight:800}
  .rs-nav{display:none;position:absolute;top:78px;left:4%;right:4%;background:#17110f;padding:12px;border:2px solid var(--rs-mustard)}
  .rs-nav.is-open{display:block}
  .rs-nav ul{display:block}
  .rs-nav a{padding:13px}
  .rs-grid,.rs-footer-grid,.rs-cocktails{grid-template-columns:1fr}
  .rs-hero{min-height:82vh}
  .rs-hero-content{padding-bottom:55px}
}


/* Supplied-art-inspired 70s treatment */
.rs-section--paper{
  background-color:var(--rs-cream);
  background-image:
    linear-gradient(45deg, transparent 44%, rgba(7,82,77,.13) 45% 49%, transparent 50%),
    linear-gradient(-45deg, transparent 44%, rgba(7,82,77,.13) 45% 49%, transparent 50%);
  background-size:74px 74px;
}
.rs-card{
  background:rgba(255,243,208,.94);
  border-color:var(--rs-brown);
  box-shadow:8px 9px 0 rgba(74,40,23,.18);
}
.rs-card h3,.rs-cocktail h3{
  color:var(--rs-brown);
}
.rs-cocktail{
  background:rgba(255,243,208,.94);
  border-color:var(--rs-brown);
  box-shadow:5px 6px 0 rgba(74,40,23,.14);
}
.rs-cocktail .price{
  color:var(--rs-orange);
}
.rs-page-hero{
  background:
    linear-gradient(rgba(7,82,77,.92),rgba(7,82,77,.92)),
    repeating-linear-gradient(45deg, transparent 0 22px, rgba(239,173,60,.24) 23px 25px);
}
.rs-page-hero:before{
  background:
    linear-gradient(45deg, transparent 44%, var(--rs-gold) 45% 49%, transparent 50%),
    linear-gradient(-45deg, transparent 44%, var(--rs-orange) 45% 49%, transparent 50%);
  background-size:88px 88px;
  opacity:.32;
  transform:rotate(0);
}
.rs-kicker{
  color:var(--rs-gold);
}
.rs-button--orange{
  background:var(--rs-orange);
  border-color:var(--rs-orange);
}
.rs-button--light{
  background:var(--rs-white);
  border-color:var(--rs-white);
}


/* Richer inner-page treatment */
.rs-page-hero{
  min-height:430px;display:flex;align-items:flex-end;padding:150px 0 68px;
  background:
    radial-gradient(circle at 82% 28%,rgba(239,173,60,.24) 0 72px,transparent 73px),
    radial-gradient(circle at 12% 78%,rgba(229,107,25,.20) 0 110px,transparent 111px),
    linear-gradient(135deg,#07524d 0%,#0d6b62 58%,#142d29 100%);
}
.rs-page-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:34px;
  background:var(--rs-cream);
  clip-path:polygon(0 100%,0 48%,8% 72%,16% 38%,24% 67%,32% 30%,40% 65%,48% 35%,56% 70%,64% 28%,72% 65%,80% 38%,88% 72%,96% 34%,100% 58%,100% 100%);
}
.rs-page-hero .rs-wrap{width:min(1180px,92%)}
.rs-page-hero h1{max-width:850px;text-shadow:5px 6px 0 rgba(74,40,23,.65);position:relative}
.rs-page-hero h1:after{
  content:"";display:block;width:125px;height:8px;background:var(--rs-orange);margin-top:24px;box-shadow:12px 8px 0 var(--rs-gold);
}
.rs-content{max-width:1180px;margin:auto;position:relative}
.rs-content > *{max-width:860px}
.rs-content h2{font-size:clamp(34px,5vw,58px);line-height:.95;margin:0 0 18px;color:var(--rs-brown)}
.rs-content h3{font-size:clamp(25px,3vw,36px);line-height:1;margin:35px 0 12px;color:var(--rs-teal)}
.rs-content ul,.rs-content ol{padding-left:1.25em}
.rs-content li{margin:7px 0}
.rs-content blockquote{margin:35px 0;padding:25px 30px;border-left:8px solid var(--rs-orange);background:rgba(255,243,208,.8);font-family:Georgia,serif;font-size:25px;line-height:1.25;box-shadow:8px 8px 0 rgba(74,40,23,.12)}
.rs-section--paper .rs-wrap{position:relative}
.rs-section--paper .rs-wrap:before{
  content:"RS";position:absolute;right:0;top:-28px;font-family:Georgia,serif;font-size:110px;line-height:1;color:rgba(7,82,77,.07);font-weight:900;pointer-events:none}
.rs-cocktails{position:relative}
.rs-cocktail{transition:transform .2s ease,box-shadow .2s ease;background:rgba(255,243,208,.97)}
.rs-cocktail:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:9px 11px 0 rgba(74,40,23,.18)}
.rs-cocktail:nth-child(3n+2){transform:rotate(.45deg)}
.rs-cocktail:nth-child(3n+2):hover{transform:translateY(-5px) rotate(.1deg)}
.rs-gallery-shortcode{background:rgba(255,243,208,.72);padding:28px;border:3px solid var(--rs-brown);box-shadow:12px 12px 0 rgba(74,40,23,.14)}
.rs-gallery-shortcode img{border:7px solid var(--rs-white);box-shadow:0 8px 20px rgba(20,45,41,.22)}
.rs-form-wrap{background:rgba(255,243,208,.92);padding:38px;border:3px solid var(--rs-brown);box-shadow:12px 12px 0 rgba(74,40,23,.14);position:relative}
.rs-form-wrap:before{content:"✦";position:absolute;right:25px;top:14px;color:var(--rs-orange);font-size:38px}
.rs-form-wrap .rs-lead{margin-top:0}
@media(max-width:850px){
  .rs-brand img{max-height:44px}
  .rs-page-hero{min-height:360px;padding:130px 0 55px}
  .rs-form-wrap{padding:25px 20px}
}
:root{
  /* Adjust these values to control the header logo size. */
  .rs-brand img{
  height:var(--rs-header-logo-height);
  width:auto;
  max-height:none;
  object-fit:contain;
}

@media(max-width:850px){
  .rs-brand img{
    height:var(--rs-header-logo-height-mobile);
    max-height:none;
  }
}
/* =========================================================
   RUBBER SOUL — HEADER LOGO SIZE CONTROL
   ========================================================= */

/* Desktop */
.rs-header .rs-brand {
  display: flex !important;
  align-items: center !important;
  height: auto !important;
  max-height: none !important;
}

.rs-header .rs-brand img {
  display: block !important;
  width: auto !important;
  height: 100px !important;
  max-width: 220px !important;
  max-height: none !important;
  object-fit: contain !important;
}

/* Mobile */
@media (max-width: 850px) {
  .rs-header .rs-brand img {
    height: 100px !important;
    max-height: none !important;
    max-width: 180px !important;
  }
}
