/*
Theme Name: Northwest Cannabis Company
Theme URI: https://northwestcannabis.com
Description: Custom theme for Northwest Cannabis Company, built pixel-faithfully from the v70 prototype. Includes site-wide 21+ age gate and Oregon OLCC compliance footer. Home page + shell (Deals/Loyalty/About/Location/Blog templates added in later phases).
Author: NWCC
Version: 0.6.7
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: nwcc
*/


  :root{
    --forest:#344D34;
    --medium:#AEB15E;
    --gray:#718472;
    --tangerine:#FFA661;
    --blue:#6CC0D5;
    --purple:#6F577E;
    --white:#FFFFFF;
    --ash:#101820;
    --cream:#F7F6EE;
  }
  *{box-sizing:border-box;}
  body{margin:0;font-family:'Poppins',sans-serif;color:var(--ash);background:var(--white);}
  h1,h2,h3,h4{font-family:'Poppins',sans-serif;margin:0 0 .5em 0;letter-spacing:.02em;}
  h1{font-weight:800;text-transform:uppercase;}
  h2{font-weight:700;color:var(--forest);}
  h3{font-weight:600;}
  p{line-height:1.6;margin:0 0 1em 0;}
  a{color:inherit;}
  button{font-family:'Poppins',sans-serif;cursor:pointer;border:none;}
  .btn{display:inline-block;padding:.8em 1.6em;border-radius:999px;font-weight:700;font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;transition:opacity .15s;}
  .btn:hover{opacity:.85;}
  .btn-tangerine{background:var(--tangerine);color:var(--ash);}
  .btn-outline{background:transparent;border:2px solid var(--white);color:var(--white);}
  .btn-forest{background:var(--forest);color:var(--white);}
  .wrap{max-width:1100px;margin:0 auto;padding:0 24px;}

  /* age gate */
  #agegate{position:fixed;inset:0;background:var(--forest);z-index:999;display:flex;align-items:center;justify-content:center;text-align:center;}
  #agegate .box{max-width:480px;padding:40px;}
  #agegate .box img{width:220px;margin-bottom:24px;}
  #agegate h1{color:var(--white);font-size:1.3rem;margin-bottom:.6em;}
  #agegate p{color:#d2d9c8;margin-bottom:1.6em;}
  #agegate .btnrow{display:flex;gap:14px;justify-content:center;}

  /* header */
  header{position:sticky;top:0;background:var(--white);z-index:50;border-bottom:1px solid #eee;}
  .headerbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0;}
  .logo img{height:63px;display:block;}
  nav{display:flex;gap:28px;align-items:center;}
  nav a{font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;color:var(--forest);padding-bottom:4px;border-bottom:2px solid transparent;cursor:pointer;}
  nav a.active{border-bottom:2px solid var(--tangerine);}
  .shopwrap{position:relative;}
  .shopmenu{display:none;position:absolute;right:0;top:110%;background:var(--white);box-shadow:0 8px 24px rgba(0,0,0,.15);border-radius:10px;overflow:hidden;min-width:200px;}
  .shopmenu a{display:block;padding:12px 18px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;border:none;color:var(--ash);}
  .shopmenu a:hover{background:var(--cream);}
  .shopwrap.open .shopmenu{display:block;}

  /* page notice */
  .protonotice{background:var(--tangerine);color:var(--ash);text-align:center;font-size:.78rem;font-weight:600;padding:8px 16px;}

  /* toast */
  #toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ash);color:var(--white);padding:12px 22px;border-radius:8px;font-size:.85rem;opacity:0;pointer-events:none;transition:all .25s;z-index:900;}
  #toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

  /* page sections (SPA display toggling removed for multi-page WordPress) */
  .page{display:block;}

  /* HOME hero */
  .hero{position:relative;background:var(--medium);background-image:url('images/texture-mountain.png');background-size:cover;background-position:center right;background-repeat:no-repeat;padding:56px 0 44px;overflow:hidden;}
  .hero::before{content:'';position:absolute;inset:0;background:rgba(16,24,32,.38);}
  .hero .wrap{position:relative;z-index:1;}
  .hero h1{color:var(--white);font-size:2.6rem;max-width:640px;line-height:1.1;text-shadow:0 1px 6px rgba(0,0,0,.35);}
  .hero .sub{background:var(--tangerine);color:var(--ash);padding:26px 30px;border-radius:14px;max-width:580px;margin-top:26px;font-size:.95rem;box-shadow:none;}
  .hero .sub .subLabel{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--forest);margin-bottom:.6em;}
  .hero .sub p{margin:0 0 .7em 0;}
  .hero .sub strong{font-weight:800;}
  .hero .sub .subPartners{font-size:.8rem;font-style:italic;opacity:.85;margin-bottom:0;}
  .hero .heroBtns{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap;}
  .heroBadgeCircle{position:absolute;z-index:1;right:calc((100% - 1100px)/2 + 24px);top:50%;transform:translateY(-50%);width:320px;height:320px;background:var(--purple);border-radius:50%;display:flex;align-items:center;justify-content:center;padding:28px;box-shadow:0 14px 34px rgba(16,24,32,.32);}
  .heroBadgeCircle img{width:100%;height:100%;object-fit:contain;}
  @media(max-width:1100px){.heroBadgeCircle{display:none;}}

  /* alternate branded-texture heroes (Forest / River — see brand book Branded Textures) */
  .hero.tex-forest{background-color:#ffffff;background-image:url('images/texture-forest.png');background-size:cover;background-position:center right;background-repeat:no-repeat;}
  .hero.tex-forest::before{background:rgba(16,24,32,.42);}
  .blogheader{position:relative;background-color:#ffffff;background-image:url('images/texture-river.png');background-size:cover;background-position:center right;background-repeat:no-repeat;padding:56px 0;overflow:hidden;}
  .blogheader::before{content:'';position:absolute;inset:0;background:rgba(10,16,22,.6);}
  .blogheader .wrap{position:relative;z-index:1;}
  .blogheader h1{color:var(--white);text-shadow:0 1px 6px rgba(0,0,0,.4);}
  .blogheader p{color:var(--white);max-width:560px;background:var(--purple);padding:.5em .9em;border-radius:6px;display:inline-block;}

  /* generic textured page headers (Deals / About / Location) */
  .pageheader{position:relative;background-color:var(--ash);padding:56px 0;overflow:hidden;}
  .pageheader::before{content:'';position:absolute;inset:0;background:rgba(10,16,22,.6);}
  .pageheader .wrap{position:relative;z-index:1;}
  .pageheader h1{color:var(--white);text-shadow:0 1px 6px rgba(0,0,0,.4);}
  .pageheader p{color:var(--white);max-width:560px;background:var(--forest);padding:.5em .9em;border-radius:6px;display:inline-block;}
  .pageheader.tex-tangerine{background-color:var(--cream);background-image:url('images/texture-tangerine.png');background-size:cover;background-position:center right;background-repeat:no-repeat;}
  .pageheader.tex-tangerine::before{background:rgba(16,24,32,.08);}
  .pageheader.tex-tangerine h1{color:var(--forest);text-shadow:none;}
  .pageheader.tex-purple{background-color:var(--cream);background-image:url('images/texture-purple.png');background-size:cover;background-position:center right;background-repeat:no-repeat;}
  .pageheader.tex-purple::before{background:rgba(255,255,255,.05);}
  .pageheader.tex-purple h1{color:var(--forest);text-shadow:none;}
  .pageheader.tex-gray{background-color:var(--blue);background-image:url('images/texture-gray.png');background-size:cover;background-position:center right;background-repeat:no-repeat;}
  .pageheader.tex-gray::before{background:rgba(16,24,32,.2);}
  .pageheader.tex-gray h1{color:var(--white);text-shadow:0 1px 6px rgba(0,0,0,.4);}
  .pageheader.tex-gray p{background:var(--medium);color:var(--ash);}

  /* real photography */
  .photoband{width:100%;height:340px;object-fit:cover;display:block;}
  @media(max-width:720px){.photoband{height:220px;}}
  .aboutphotogrid, .locphotogrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px;}
  @media(max-width:720px){.aboutphotogrid, .locphotogrid{grid-template-columns:1fr;}}
  .aboutphotogrid img, .locphotogrid img{width:100%;height:280px;object-fit:cover;border-radius:12px;display:block;}
  .photocaption{font-size:.75rem;color:var(--gray);margin-top:8px;}
  .locphoto-single{width:100%;height:320px;object-fit:cover;border-radius:12px;display:block;}
  @media(max-width:720px){.locphoto-single{height:220px;}}
  .loccard .cardphoto{width:100%;height:340px;object-fit:cover;border-radius:8px;margin-bottom:14px;display:block;}
  @media(max-width:720px){.loccard .cardphoto{height:260px;}}

  /* carousel */
  .carouselLabel{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
  .carouselLabel h2{margin-bottom:.2em;}
  .carouselLabel p{margin:0;font-size:.85rem;color:var(--gray);}
  .carouselNav{display:flex;gap:10px;}
  .carouselArrow{width:38px;height:38px;border-radius:50%;background:var(--forest);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:none;cursor:pointer;transition:background .2s,transform .15s;flex-shrink:0;}
  .carouselArrow:hover{background:var(--tangerine);color:var(--ash);transform:translateY(-2px);}
  .carousel{display:flex;gap:3px;overflow-x:auto;box-shadow:0 14px 34px rgba(16,24,32,.18);align-items:stretch;}
  .carousel .card{flex:1 1 280px;display:flex;flex-direction:column;text-decoration:none;cursor:pointer;transition:transform .2s ease;overflow:hidden;background:var(--forest);}
  .carousel .card:hover{transform:translateY(-4px);}
  .carousel .card .cardInfo{padding:24px 24px 20px;}
  .carousel .card .cardInfo h3{margin:0 0 .35em 0;font-size:1.1rem;line-height:1.25;}
  .carousel .card .cardInfo p{margin:0;font-size:.82rem;line-height:1.5;}
  .carousel .card .cat{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;margin-bottom:.6em;display:block;}
  .carousel .card .readmore{margin-top:12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;}
  .carousel .card .cardImgWrap{height:150px;overflow:hidden;}
  .carousel .card .cardImgWrap img{width:100%;height:100%;object-fit:cover;display:block;}
  .carouselDots{display:flex;gap:9px;justify-content:center;align-items:center;padding:16px 0;background:var(--ash);}
  .carouselDots .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.28);cursor:pointer;transition:background .2s,transform .15s;padding:0;border:none;}
  .carouselDots .dot:hover{background:rgba(255,255,255,.55);}
  .carouselDots .dot.active{background:var(--tangerine);transform:scale(1.15);}

  /* location strip / cards */
  .section{padding:64px 0;}
  .section.alt{background:var(--cream);}
  .loccards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;}
  @media(max-width:720px){.loccards{grid-template-columns:1fr;}}
  .loccard{background:var(--white);border:1px solid #e6e4d8;border-radius:12px;padding:26px;}
  .loccard h3{color:var(--forest);}
  .loccard .pin{display:inline-block;background:var(--forest);color:var(--white);border-radius:50%;width:26px;height:26px;text-align:center;line-height:26px;font-size:.75rem;margin-right:8px;}
  .loccard dl{margin:14px 0;}
  .loccard dt{font-weight:700;font-size:.72rem;text-transform:uppercase;color:var(--gray);margin-top:10px;}
  .loccard dd{margin:2px 0 0 0;}
  .loccard dd a{color:var(--forest);text-decoration:underline;font-weight:600;}
  .loccard dd a:hover{color:var(--tangerine);}

  .valuegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;}
  @media(max-width:800px){.valuegrid{grid-template-columns:1fr 1fr;}}
  .valuecard{background:var(--white);border-radius:12px;padding:24px;border-top:4px solid var(--tangerine);}
  .valuecard:nth-child(2){border-top-color:var(--blue);}
  .valuecard:nth-child(3){border-top-color:var(--purple);}
  .valuecard:nth-child(4){border-top-color:var(--medium);}

  .manifesto{background:var(--ash);color:var(--white);padding:70px 0;text-align:center;}
  .manifesto p{font-style:italic;font-size:1.05rem;color:#dcdcd2;max-width:600px;margin:0 auto .3em auto;}
  .manifesto .tag{margin-top:24px;font-weight:700;font-style:normal;color:var(--tangerine);font-size:1.15rem;}

  .dealsgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px;}
  @media(max-width:800px){.dealsgrid{grid-template-columns:1fr 1fr;}}
  .dealcard{border-radius:14px;padding:22px 16px;text-align:center;color:var(--white);}
  .dealcard .pct{font-size:1.8rem;font-weight:800;display:block;}
  .dealcard .day{text-transform:uppercase;font-size:.72rem;letter-spacing:.05em;opacity:.85;}
  .dealcard .what{font-weight:600;font-size:.85rem;margin-top:6px;}

  .discountgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px;}
  @media(max-width:800px){.discountgrid{grid-template-columns:1fr 1fr;}}
  .discountcard{background:var(--white);border:1px solid #e6e4d8;border-top:4px solid var(--forest);border-radius:12px;padding:26px 20px;text-align:center;}
  .discountcard .pct{font-size:2rem;font-weight:800;color:var(--forest);display:block;}
  .discountcard h4{margin:.3em 0;font-size:.9rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ash);}
  .discountcard p{font-size:.8rem;color:var(--gray);margin:0;}

  .ptsgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:22px;}
  @media(max-width:800px){.ptsgrid{grid-template-columns:1fr 1fr 1fr;}}
  @media(max-width:520px){.ptsgrid{grid-template-columns:1fr 1fr;}}
  .ptscard{background:var(--white);border:1px solid #e6e4d8;border-top:4px solid var(--blue);border-radius:12px;padding:22px 14px;text-align:center;}
  .ptscard .pts{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);display:block;}
  .ptscard .val{font-size:1.5rem;font-weight:800;color:var(--forest);margin-top:.25em;display:block;}

  .merchgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:22px;}
  @media(max-width:800px){.merchgrid{grid-template-columns:1fr 1fr;}}
  @media(max-width:480px){.merchgrid{grid-template-columns:1fr;}}
  .merchcard{background:var(--white);border:1px solid #e6e4d8;border-top:4px solid var(--purple);border-radius:12px;padding:22px 16px;text-align:center;}
  .merchcard .pts{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);display:block;}
  .merchcard .item{font-size:.9rem;font-weight:700;margin-top:.4em;color:var(--ash);}
  .d1{background:#5e6e5f;} .d2{background:var(--tangerine);color:var(--ash);} .d3{background:var(--blue);color:var(--ash);}
  .d4{background:#5c4a67;} .d5{background:var(--tangerine);color:var(--ash);} .d6{background:var(--purple);} .d7{background:var(--medium);color:var(--ash);}

  .faq{margin-top:24px;border-top:1px solid #ddd;}
  .faq-item{border-bottom:1px solid #ddd;}
  .faq-q{width:100%;text-align:left;background:none;padding:18px 4px;font-weight:600;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;font-size:.88rem;color:#444;}
  .faq-a p{padding-bottom:16px;margin:0;}
  .faq-item.open .faq-a{max-height:200px;}
  .faq-item.open .faq-q .chev{transform:rotate(45deg);}
  .chev{transition:transform .2s;font-weight:400;font-size:1.2rem;}

  .blogrow{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px;}
  @media(max-width:800px){.blogrow{grid-template-columns:1fr;}}
  .blogcard{background:var(--white);border:1px solid #e6e4d8;border-radius:12px;overflow:hidden;}
  .blogcard .thumb{height:150px;}
  .blogcard .body{padding:18px;}
  .blogcard .date{font-size:.72rem;color:var(--gray);text-transform:uppercase;font-weight:600;}
  .blogcard h4{margin:.3em 0 .4em 0;font-size:1rem;}
  .blogcard p{font-size:.85rem;color:#555;margin-bottom:.6em;}
  .t1{background:var(--forest);} .t2{background:var(--purple);} .t3{background:var(--blue);color:var(--ash);} .t4{background:var(--medium);color:var(--ash);} .t5{background:var(--tangerine);color:var(--ash);}
  .blogcard .thumb.photo{background-size:cover;background-position:center;}

  /* blog index: filters + cards as links + pagination */
  .blogfilters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 6px 0;}
  .chip{padding:.55em 1.2em;border-radius:999px;border:1.5px solid var(--forest);color:var(--forest);font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:transparent;}
  .chip.active{background:var(--forest);color:var(--white);}
  .blogcount{font-size:.78rem;color:var(--gray);margin:2px 0 0 0;}
  a.blogcard{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s;}
  a.blogcard:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(16,24,32,.12);}
  .blogcard .cat{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--forest);display:block;margin-bottom:.45em;}
  #blogLoadMoreWrap{text-align:center;margin-top:30px;}

  /* blog detail page */
  .blogback{display:inline-block;margin-bottom:20px;font-size:.8rem;font-weight:700;color:var(--forest);text-decoration:none;}
  .blogback:hover{text-decoration:underline;}
  #postHero{width:100%;height:auto;max-height:520px;object-fit:contain;background:var(--cream);border-radius:14px;display:none;margin-bottom:26px;}
  @media(max-width:720px){#postHero{max-height:320px;}}
  .postmeta{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.78rem;color:var(--gray);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6em;}
  .postmeta .catbadge{background:var(--cream);color:var(--forest);padding:.3em .9em;border-radius:999px;font-weight:700;letter-spacing:.02em;}
  #postTitle{color:var(--forest);font-size:1.7rem;margin-bottom:.5em;}
  .postbody h4{color:var(--forest);margin-top:1.3em;font-size:1.05rem;}
  .postbody h5{color:var(--gray);margin-top:1.1em;font-size:.92rem;text-transform:uppercase;letter-spacing:.03em;}
  .postbody p{font-size:.95rem;}
  .postbody ul{padding-left:1.3em;margin:0 0 1em 0;}
  .postbody li{margin-bottom:.4em;font-size:.95rem;line-height:1.6;}
  .postbody .disclaimer{font-size:.78rem;color:var(--gray);font-style:italic;}
  .posttags{margin:1.2em 0;}
  .tagpill{display:inline-block;background:var(--cream);color:var(--gray);font-size:.7rem;padding:.32em .85em;border-radius:999px;margin:0 6px 6px 0;}
  .postsource{margin-top:2em;padding-top:1.2em;border-top:1px solid #eee;font-size:.78rem;color:var(--gray);}
  .postsource a{color:var(--forest);font-weight:600;}

  .partnerrow{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;}
  .partnerchip{background:var(--cream);border:1px solid #e6e4d8;border-radius:999px;padding:8px 16px;font-size:.78rem;font-weight:600;color:var(--forest);}
  .partnerlogos{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;align-items:center;}
  .partnerlogo{background:var(--white);border:1px solid #e6e4d8;border-radius:12px;padding:14px 22px;display:flex;align-items:center;justify-content:center;height:64px;transition:box-shadow .15s,transform .15s;}
  .partnerlogo:hover{box-shadow:0 8px 20px rgba(16,24,32,.12);transform:translateY(-2px);}
  .partnerlogo img{max-height:36px;max-width:150px;object-fit:contain;display:block;}

  footer{background:var(--forest);color:var(--white);padding-top:50px;}
  footer .wrap{padding-bottom:30px;}
  footer .fgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px;padding-bottom:30px;}
  @media(max-width:800px){footer .fgrid{grid-template-columns:1fr 1fr;}}
  footer h4{color:#c6cb86;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.8em;}
  footer .flogo img{height:34px;margin-bottom:10px;}
  footer p, footer a{color:#d8ddd3;font-size:.85rem;}
  footer a{text-decoration:none;display:block;margin-bottom:6px;}
  footer .compliance{border-top:1px solid rgba(255,255,255,.15);padding:20px 0;font-size:.72rem;color:#d2d9c8;}
  footer .compliance b{color:#c9d3bf;}

  .copynote{background:#FFF3E0;border:1px dashed var(--tangerine);border-radius:8px;padding:10px 14px;font-size:.75rem;color:#7a4a10;margin:14px 0;}
  .innewsGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:16px;}
  @media(max-width:600px){.innewsGrid{grid-template-columns:1fr;}}
  .innewsCard{display:flex;align-items:center;gap:14px;text-decoration:none;padding:14px 16px;border:1px solid #e6e4d8;border-radius:10px;transition:transform .15s,box-shadow .15s,border-color .15s;}
  .innewsCard:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(16,24,32,.1);border-color:var(--tangerine);}
  .innewsIcon{flex-shrink:0;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .innewsIcon svg{width:19px;height:19px;fill:var(--white);}
  .innewsBody{min-width:0;}
  .innewsTitle{display:block;font-size:.9rem;font-weight:600;color:var(--ash);}
  .innewsSource{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray);margin-top:2px;}
  .badge-proto{position:fixed;top:10px;right:10px;background:var(--ash);color:var(--white);font-size:.68rem;padding:6px 10px;border-radius:6px;z-index:80;opacity:.85;}

/* Nav normalization: lets wp_nav_menu (ul/li) or plain anchors both sit in nav's flex row */
nav ul.nwcc-menu{list-style:none;margin:0;padding:0;display:contents;}
nav ul.nwcc-menu li{display:contents;}

.faq-a a{color:var(--forest);text-decoration:underline;font-weight:600;}
.faq-a a:hover{color:var(--tangerine);}

/* Home blog slideshow (full-width, dynamically filled by JS) */
.carouselViewport{overflow:hidden;padding:0 24px;box-shadow:0 14px 34px rgba(16,24,32,.18);}
#homeCarousel{gap:16px;overflow:visible;box-shadow:none;transition:transform .45s ease;will-change:transform;}
#homeCarousel .card{flex:0 0 auto;min-width:0;}

/* Header: logo + Shop Now on the top row, menu links on their own row below */
.headerbar{gap:24px;padding:14px 0 8px;}
.logo{flex-shrink:0;}
.navbar{padding-bottom:14px;}
.navbar nav{justify-content:flex-start;}
@media(max-width:900px){
	nav{flex-wrap:wrap;justify-content:flex-start;gap:14px 18px;}
}
@media(max-width:600px){
	.logo img{height:51px;}
	nav{gap:12px 16px;}
}

/* Prevent stray horizontal scroll on mobile (clip keeps the sticky header working) */
html,body{overflow-x:clip;max-width:100%;}
.postbody img{max-width:100%;height:auto;}

/* Footer contact: tidy, even spacing with linked phone + address */
footer .fcontact{margin:0;line-height:1.5;}
footer .fcontact a{color:#d8ddd3;text-decoration:none;}
footer .fcontact a:hover{color:var(--tangerine);}
footer .fcontact .fphone{display:block;margin-bottom:12px;}
footer .fcontact .faddr{display:block;}

/* Footer social links: rollover color to match the address links */
footer a{transition:color .15s;}
footer a:hover{color:var(--tangerine);}

/* Accessibility: skip link + readable outline button on lighter heroes */
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--forest);color:#fff;padding:10px 16px;border-radius:0 0 6px 0;font-weight:600;text-decoration:none;}
.skip-link:focus{left:0;}
.hero .btn-outline{background:rgba(16,24,32,.5);}
