/*=========================================================
  WAGS FOR HOPE SITE HEADER
=========================================================*/
.wfh-site-header{
    position:relative;
    z-index:1000;
    width:100%;
    background:#112b57;
    border-bottom:4px solid #ec168c;
    box-shadow:0 5px 18px rgba(7,20,43,.18);
}
.wfh-header-inner{
    width:min(1160px,calc(100% - 40px));
    min-height:86px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin:0 auto;
}
.wfh-logo-link{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    text-decoration:none;
}
.wfh-logo{
    width:260px;
    max-height:64px;
    object-fit:contain;
    object-position:left center;
}
.wfh-main-nav{margin-left:auto;}
.wfh-menu{
    display:flex;
    align-items:center;
    gap:4px;
    margin:0;
    padding:0;
    list-style:none;
}
.wfh-menu>li{position:relative;}
.wfh-menu a,.wfh-submenu-toggle{
    min-height:86px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 14px;
    border:0;
    color:#fff;
    background:transparent;
    font-family:"DM Sans",Arial,sans-serif;
    font-size:.98rem;
    font-weight:700;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    cursor:pointer;
}
.wfh-menu>li>a::after,.wfh-submenu-toggle::after{
    content:"";
    position:absolute;
    left:14px;
    right:14px;
    top:20px;
    height:3px;
    background:#ec168c;
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .2s ease;
}
.wfh-menu>li:hover>a::after,.wfh-menu>li:focus-within>a::after,.wfh-menu-parent:hover>.wfh-submenu-toggle::after,.wfh-menu-parent:focus-within>.wfh-submenu-toggle::after,.wfh-current-menu-item>a::after{
    transform:scaleX(1);
}
.wfh-menu-arrow{
    width:0;
    height:0;
    border-left:4px solid transparent;
    border-right:4px solid transparent;
    border-top:5px solid currentColor;
    transition:transform .2s ease;
}
.wfh-menu-parent:hover>.wfh-submenu,.wfh-menu-parent:focus-within>.wfh-submenu,.wfh-menu-parent.wfh-submenu-open>.wfh-submenu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
}
.wfh-menu-parent.wfh-submenu-open .wfh-menu-arrow{transform:rotate(180deg);}
.wfh-submenu{
    position:absolute;
    top:calc(100% - 8px);
    left:0;
    width:260px;
    margin:0;
    padding:10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:0 0 14px 14px;
    background:#112b57;
    box-shadow:0 18px 34px rgba(4,14,31,.28);
    list-style:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.wfh-submenu li+li{border-top:1px solid rgba(255,255,255,.1);}
.wfh-submenu a{
    min-height:auto;
    padding:13px 14px;
    border-radius:8px;
    color:#fff;
    font-size:.92rem;
    line-height:1.3;
    white-space:normal;
}
.wfh-submenu a:hover,.wfh-submenu a:focus{background:rgba(255,255,255,.1);}
.wfh-cart-item a{
    position:relative;
    min-width:48px;
    justify-content:center;
    padding:0 10px;
}
.wfh-cart-icon{font-size:1.15rem;}
.wfh-cart-count{
    position:absolute;
    top:24px;
    right:2px;
    min-width:18px;
    height:18px;
    display:grid;
    place-items:center;
    padding:0 4px;
    border-radius:999px;
    color:#fff;
    background:#ef5b56;
    font-size:.65rem;
    line-height:1;
}
.wfh-menu-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    width:48px;
    height:48px;
    padding:10px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:10px;
    color:#fff;
    background:transparent;
    cursor:pointer;
}
.wfh-menu-toggle-line{
    width:24px;
    height:2px;
    display:block;
    background:#fff;
}
.wfh-menu-toggle-label{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}
@media(max-width:1050px){
    .wfh-logo{width:220px;}
    .wfh-menu a,.wfh-submenu-toggle{padding:0 10px;font-size:.9rem;}
}
@media(max-width:860px){
    .wfh-header-inner{
        min-height:74px;
        position:relative;
        width:min(100% - 28px,1160px);
    }
    .wfh-logo{width:205px;max-height:54px;}
    .wfh-menu-toggle{display:flex;gap:5px;}
    .wfh-main-nav{
        position:absolute;
        top:100%;
        left:-14px;
        right:-14px;
        display:none;
        margin:0;
        border-top:1px solid rgba(255,255,255,.12);
        background:#112b57;
        box-shadow:0 18px 30px rgba(4,14,31,.28);
    }
    .wfh-main-nav.wfh-nav-open{display:block;}
    .wfh-menu{display:block;padding:10px 14px 18px;}
    .wfh-menu>li{border-bottom:1px solid rgba(255,255,255,.1);}
    .wfh-menu>li:last-child{border-bottom:0;}
    .wfh-menu a,.wfh-submenu-toggle{
        width:100%;
        min-height:50px;
        justify-content:space-between;
        padding:0 10px;
        text-align:left;
    }
    .wfh-menu>li>a::after,.wfh-submenu-toggle::after{display:none;}
    .wfh-submenu{
        position:static;
        width:auto;
        display:none;
        margin:0 0 8px;
        padding:0 0 0 16px;
        border:0;
        border-radius:0;
        box-shadow:none;
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto;
    }
    .wfh-menu-parent.wfh-submenu-open>.wfh-submenu{display:block;}
    .wfh-submenu a{min-height:44px;padding:9px 12px;}
    .wfh-current-menu-item>a{color:#ffd5eb;}
    .wfh-cart-item a{justify-content:flex-start;}
    .wfh-cart-count{position:static;margin-left:8px;}
}

:root {
    --wine: #702c68;
    --wine-dark: #401738;
    --wine-light: #a05496;
    --gold: #d8b56d;
    --cream: #fffaf2;
    --white: #ffffff;
    --charcoal: #252025;
    --muted: #6d646b;
    --border: #eadde7;
    --shadow: 0 18px 45px rgba(64, 23, 56, 0.14);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--charcoal);
    background: var(--cream);
    font-family: "DM Sans", Arial, sans-serif;
    line-height: 1.65;
}

img {
    display: block;
    max-width: 100%;
}

a {
    color: inherit;
}

.howl-container {
    width: min(1160px, calc(100% - 40px));
    margin: 0 auto;
}

.howl-section {
    padding: 88px 0;
}

.howl-section-white {
    background: var(--white);
}

.howl-eyebrow {
    margin: 0 0 12px;
    color: var(--wine);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.howl-title {
    margin: 0 0 20px;
    color: var(--wine-dark);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 1.08;
}

.howl-section-title {
    margin: 0 0 18px;
    color: var(--wine-dark);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2rem, 4vw, 3.15rem);
    line-height: 1.15;
}

.howl-lead {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 1.5rem;
}

.howl-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 30px;
}

.howl-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 26px;
    border: 2px solid transparent;
    border-radius: 999px;
    font-size: 0.98rem;
    font-weight: 700;
    text-decoration: none;
    transition:
            transform 0.2s ease,
            background 0.2s ease,
            border-color 0.2s ease;
}
.howl-vendor-payment-notes{
    padding-top:15px;
    font-size:1.5rem;
}

.howl-button:hover {
    transform: translateY(-2px);
}

.howl-button-primary {
    color: var(--white);
    background: var(--wine);
}

.howl-button-primary:hover {
    background: var(--wine-dark);
}

.howl-button-secondary {
    color: var(--wine-dark);
    background: var(--gold);
}

.howl-button-secondary:hover {
    background: #e5c783;
}

.howl-button-outline {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.75);
    background: transparent;
}

.howl-button-outline:hover {
    background: rgba(255, 255, 255, 0.12);
}

/* Hero */

.howl-hero {
    position: relative;
    min-height: 680px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: var(--white);
    background-image:
            linear-gradient(
                    90deg,
                    rgba(24, 8, 20, 0.96) 0%,
                    rgba(45, 14, 39, 0.9) 29%,
                    rgba(45, 14, 39, 0.57) 46%,
                    rgba(20, 8, 17, 0.12) 66%,
                    rgba(20, 8, 17, 0.02) 100%
            ),
            url("https://wagsforhope.org/howl-o-wine/img/howl-o-wine.jpg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}

.howl-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 150px;
    background: linear-gradient(
            to bottom,
            transparent,
            rgba(20, 8, 17, 0.52)
    );
}

.howl-hero-content {
    position: relative;
    z-index: 2;
    width: 46%;
    max-width: 570px;
    padding: 90px 0;
}

.howl-hero .howl-eyebrow {
    color: var(--gold);
}

.howl-hero .howl-title {
    color: var(--white);
    font-size: clamp(3rem, 6vw, 5.25rem);
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.35);
}

.howl-hero-subtitle {
    max-width: 540px;
    margin: 0;
    font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.howl-event-date {
    display: inline-flex;
    align-items: center;
    text-align:center;
    gap: 10px;
    margin-top: 25px;
    padding: 10px 17px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
    background: rgba(20, 8, 17, 0.48);
    backdrop-filter: blur(8px);
    font-weight: 700;
}

/* Mission */
.howl-intro-grid{
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:60px;
    align-items:center;
}

.howl-intro-left{
    display:flex;
    flex-direction:column;
    gap:28px;
}

.howl-intro-copy{
    margin:0;
}

.howl-intro-copy p:not(.howl-eyebrow):not(.howl-lead){
    margin:22px 0 0;
}

.howl-quote-card{
    position:relative;
    padding:48px 54px;
    border-radius:28px;
    color:var(--white);
    background:radial-gradient(circle at top right,rgba(216,181,109,.18),transparent 42%),linear-gradient(135deg,#5b1d53 0%,#45163f 100%);
    box-shadow:0 18px 42px rgba(48,16,43,.18);
    overflow:hidden;
}
.howl-quote-mark{
    position:absolute;
    top:12px;
    left:26px;
    color:rgba(216,181,109,.25);
    font-family:"Playfair Display",Georgia,serif;
    font-size:7rem;
    line-height:1;
}
.howl-quote-card blockquote{
    position:relative;
    z-index:2;
    margin:0;
    font-family:"Playfair Display",Georgia,serif;
    font-size:2rem;
    font-style:italic;
    line-height:1.45;
    font-weight:500;
}
.howl-quote-emphasis{
    position:relative;
    z-index:2;
    margin-top:18px;
    color:var(--gold);
    font-family:"Playfair Display",Georgia,serif;
    font-size:2.35rem;
    font-weight:700;
    letter-spacing:.02em;
}

.howl-intro-image{
    display:flex;
    justify-content:center;
}

.howl-intro-image img{
    width:100%;
    max-width:420px;

    border-radius:28px;

    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

/*.howl-intro-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 60px;
    align-items: center;
}

.howl-intro-copy p:not(.howl-eyebrow):not(.howl-lead) {
    margin: 22px 0 0;
}

.howl-quote-card {
    padding: 44px;
    border-radius: 28px;
    color: var(--white);
    background:
            radial-gradient(
                    circle at top right,
                    rgba(216, 181, 109, 0.25),
                    transparent 45%
            ),
            var(--wine-dark);
    box-shadow: var(--shadow);
}

.howl-quote-card p {
    margin: 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.55rem, 3vw, 2.25rem);
    line-height: 1.35;
}

.howl-quote-card strong {
    color: var(--gold);
} */

/* Impact cards */

.howl-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 42px;
}

.howl-card {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: var(--white);
    box-shadow: 0 12px 30px rgba(64, 23, 56, 0.07);
}

.howl-card-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
    border-radius: 18px;
    color: var(--white);
    background: var(--wine);
    font-size: 1.7rem;
}

.howl-card h3 {
    margin: 0 0 10px;
    color: var(--wine-dark);
    font-size: 1.2rem;
}

.howl-card p {
    margin: 0;
    color: var(--muted);
}

/* Event experience */

.howl-experience {
    position: relative;
    overflow: hidden;
    color: var(--white);
    background: var(--wine-dark);
}

.howl-experience::before {
    content: "🐾";
    position: absolute;
    top: -90px;
    right: 3%;
    opacity: 0.06;
    font-size: 26rem;
    transform: rotate(-15deg);
}

.howl-experience .howl-section-title {
    color: var(--white);
}

.howl-experience .howl-eyebrow {
    color: var(--gold);
}

.howl-experience .howl-lead {
    color: rgba(255, 255, 255, 0.78);
}

.howl-experience-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 42px;
}

.howl-experience-item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 82px;
    padding: 18px 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.07);
}

.howl-experience-item span {
    font-size: 1.55rem;
}

.howl-experience-item strong {
    font-size: 1rem;
}

/* Donations */
.howl-donate-layout{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
    gap:38px;
    align-items:stretch;
    margin-top:42px;
}
.howl-giving-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin:0;
}
.howl-giving-card{
    min-height:285px;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:30px 26px;
    border:1px solid var(--border);
    border-radius:22px;
    text-align:center;
    background:linear-gradient(to bottom,#fff 0%,#fffafc 100%);
    box-shadow:0 12px 28px rgba(64,23,56,.07);
    transition:transform .2s ease,box-shadow .2s ease;
}
.howl-giving-card:hover{
    transform:translateY(-5px);
    box-shadow:var(--shadow);
}
.howl-giving-amount{
    margin-bottom:14px;
    color:var(--wine);
    font-family:"Playfair Display",Georgia,serif;
    font-size:2.5rem;
    font-weight:700;
    line-height:1.08;
}
.howl-giving-choice{font-size:2.15rem;}
.howl-giving-card p{
    margin:0 0 24px;
    color:var(--muted);
    line-height:1.55;
}
.howl-giving-card .howl-button{
    width:100%;
    max-width:190px;
    margin-top:auto;
}
.howl-donate-image{
    display:flex;
    align-items:stretch;
    justify-content:center;
    padding:8px;
}
.howl-donate-image img{
    width:100%;
    height:100%;
    min-height:590px;
    display:block;
    object-fit:cover;
    object-position:center;
    border:4px solid #e8d8ea;
    outline:1px solid #7b3378;
    outline-offset:4px;
    border-radius:28px;
    box-shadow:0 18px 42px rgba(0,0,0,.14);
    transition:transform .25s ease,box-shadow .25s ease;
}
.howl-donate-image img:hover{
    transform:translateY(-3px);
    box-shadow:0 24px 50px rgba(0,0,0,.2);
}
.howl-giving-note{
    margin-top:24px;
    color:var(--muted);
    font-size:.95rem;
    text-align:center;
}

/* Vendor Information & Application */
#vendors{
    position:relative;
    overflow:hidden;
    background-image:linear-gradient(rgba(38,16,36,.78),rgba(38,16,36,.86)),url("https://wagsforhope.org/howl-o-wine/img/winery.jpg");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed;
}
#vendors .howl-container{position:relative;z-index:2;}
#vendors .howl-eyebrow{color:var(--gold);}
#vendors .howl-section-title{color:var(--white);}
#vendors .howl-vendor-heading > .howl-lead{color:rgba(255,255,255,.9);}
.howl-vendor-heading{max-width:860px;}

/* Vendor application - first */
.howl-vendor-application{
    margin-top:42px;
    padding:42px;
    border:1px solid rgba(255,255,255,.36);
    border-radius:24px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 46px rgba(13,4,12,.25);
}
.howl-vendor-application .howl-eyebrow{color:var(--wine);font-size:.9rem;}
.howl-vendor-application-heading{
    padding-bottom:26px;
    border-bottom:1px solid var(--border);
}
.howl-vendor-application-heading h3{
    margin:0 0 10px;
    color:var(--wine-dark);
    font-family:"Playfair Display",Georgia,serif;
    font-size:2.25rem;
    line-height:1.15;
}
.howl-vendor-application-heading p:not(.howl-eyebrow){
    max-width:780px;
    margin:0;
    color:var(--muted);
    font-size:1.08rem;
    line-height:1.6;
}
.howl-vendor-form{margin-top:30px;}
.howl-form-grid{display:grid;gap:22px;}
.howl-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.howl-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:22px;}
.howl-form-grid-address{grid-template-columns:minmax(0,1fr) 130px 175px;margin-top:22px;}
.howl-form-field{min-width:0;margin-top:22px;}
.howl-form-grid .howl-form-field{margin-top:0;}
.howl-form-field label{
    display:block;
    margin-bottom:9px;
    color:var(--wine-dark);
    font-size:1rem;
    font-weight:800;
    letter-spacing:.02em;
}
.howl-form-field input{
    width:100%;
    height:58px;
    padding:13px 16px;
    border:1px solid #cdbdca;
    border-radius:11px;
    color:var(--charcoal);
    background:#fff;
    font-family:"DM Sans",Arial,sans-serif;
    font-size:1.08rem;
    line-height:1.2;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease;
}
.howl-form-field input:focus{border-color:var(--wine);box-shadow:0 0 0 4px rgba(112,44,104,.13);}
.howl-vendor-submit-row{
    display:flex;
    justify-content:flex-end;
    margin-top:30px;
    padding-top:26px;
    border-top:1px solid var(--border);
}
.howl-vendor-submit-row .howl-button{
    min-width:260px;
    min-height:58px;
    border:0;
    cursor:pointer;
    font-size:1.02rem;
}

/* Booth options and vendor image - second */
.howl-vendor-showcase{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
    gap:28px;
    align-items:center;
    margin-top:34px;
}
.howl-vendor-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.howl-vendor-card{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:24px 20px;
    border:1px solid rgba(112,44,104,.18);
    border-radius:20px;
    text-align:center;
    background:rgba(255,255,255,.97);
    box-shadow:0 14px 34px rgba(13,4,12,.22);
    transition:transform .2s ease,box-shadow .2s ease;
}
.howl-vendor-card:hover{transform:translateY(-4px);box-shadow:0 20px 44px rgba(13,4,12,.28);}
.howl-vendor-card-nonprofit{background:linear-gradient(to bottom,rgba(255,255,255,.98),rgba(255,248,233,.98));}
.howl-vendor-label{
    margin-bottom:9px;
    color:var(--wine);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.howl-vendor-size{
    color:var(--wine-dark);
    font-family:"Playfair Display",Georgia,serif;
    font-size:1.75rem;
    font-weight:700;
    line-height:1.05;
}
.howl-vendor-price{
    margin:5px 0 10px;
    color:var(--wine);
    font-family:"Playfair Display",Georgia,serif;
    font-size:2.35rem;
    font-weight:700;
    line-height:1;
}
.howl-vendor-card p{margin:0 0 18px;color:var(--muted);font-size:.9rem;line-height:1.45;}
.howl-vendor-card .howl-button{width:100%;max-width:220px;min-height:46px;margin-top:auto;padding:10px 18px;font-size:.86rem;}
.howl-vendor-image{
    width:100%;
    aspect-ratio:1/1;
    overflow:hidden;
    border:4px solid rgba(255,255,255,.85);
    outline:1px solid rgba(216,181,109,.75);
    outline-offset:4px;
    border-radius:24px;
    box-shadow:0 20px 48px rgba(13,4,12,.34);
    background:#20101d;
}
.howl-vendor-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
}

/* Final call to action */
.howl-final-cta{
    position:relative;
    overflow:hidden;
    padding:90px 0;
    color:var(--white);
    text-align:center;
    background-image:linear-gradient(rgba(35,11,30,.84),rgba(35,11,30,.93)),url("https://wagsforhope.org/howl-o-wine/img/howl-o-wine.jpg");
    background-position:center 66%;
    background-size:cover;
    background-repeat:no-repeat;
}
.howl-final-cta-content{
    position:relative;
    z-index:2;
    max-width:800px;
    margin:0 auto;
}
.howl-final-cta .howl-eyebrow{color:var(--gold);}
.howl-final-cta .howl-section-title{color:var(--white);}
.howl-final-cta p{font-size:1.14rem;}
.howl-final-cta .howl-button-row{justify-content:center;}

/* Footer */
.howl-footer{
    padding:30px 0;
    color:rgba(255,255,255,.72);
    background:#1c111a;
    text-align:center;
}
.howl-footer p{margin:5px 0;}
.howl-footer a{color:var(--gold);}

/* Donation layout */
.howl-donate-layout{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);
    gap:28px;
    align-items:center;
}
.howl-donate-image{
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:center;
    padding:12px;
}
.howl-donate-image img{
    width:100%;
    max-width:380px;
    display:block;
    border:4px solid #e8d8ea;
    outline:1px solid #7b3378;
    outline-offset:4px;
    border-radius:28px;
    box-shadow:0 14px 35px rgba(0,0,0,.12);
    transition:.25s ease;
}
.howl-donate-image img:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

/* Event information */
#tickets{
    position:relative;
    overflow:hidden;
    color:var(--white);
    background-image:linear-gradient(rgba(38,16,36,.72),rgba(38,16,36,.82)),url("https://wagsforhope.org/howl-o-wine/img/winery.jpg");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
}
#tickets .howl-container{position:relative;z-index:2;}
#tickets .howl-eyebrow{color:var(--gold);}
#tickets .howl-section-title{color:var(--white);}
#tickets .howl-lead{margin:0 auto;color:rgba(255,255,255,.9);}
.howl-event-heading{
    max-width:800px;
    margin:0 auto 38px;
    text-align:center;
}
.howl-attraction-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    margin-top:42px;
}
.howl-attraction-card{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.24);
    border-radius:22px;
    background:var(--white);
    box-shadow:0 16px 38px rgba(13,4,12,.28);
    transition:transform .25s ease,box-shadow .25s ease;
}
.howl-attraction-card:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 48px rgba(13,4,12,.38);
}
.howl-attraction-image{
    position:relative;
    height:275px;
    overflow:hidden;
    background-color:var(--wine-dark);
    background-position:center;
    background-size:cover;
    background-repeat:no-repeat;
}
.howl-attraction-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top,rgba(31,10,27,.56),transparent 62%);
}
.howl-attraction-badge{
    position:absolute;
    z-index:2;
    left:16px;
    bottom:16px;
    max-width:calc(100% - 32px);
    padding:7px 14px;
    border-radius:999px;
    color:var(--wine-dark);
    background:rgba(216,181,109,.96);
    box-shadow:0 5px 14px rgba(0,0,0,.18);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.045em;
    line-height:1.2;
    text-transform:uppercase;
}
.howl-attraction-content{padding:26px;}
.howl-attraction-content h3{
    margin:0 0 10px;
    color:var(--wine-dark);
    font-family:"Playfair Display",Georgia,serif;
    font-size:1.45rem;
    line-height:1.2;
}
.howl-attraction-content p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}
.howl-attraction-content strong{color:var(--wine);}
.howl-attraction-costume{background-image:url("../img/pet-costume-contest.jpg");}
.howl-attraction-wine{background-image:url("../img/wine-tasting.jpg");}
.howl-attraction-glass{background-image:url("../img/insulated-wine-glass.jpg");}
.howl-attraction-food{background-image:url("../img/food-truck.jpg");}
.howl-attraction-music{background-image:url("../img/live-music.jpg");}
.howl-attraction-raffle{background-image:url("../img/donate-and-dash-raffle.jpg");}
.howl-event-details-row{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-top:34px;
}
.howl-event-detail-card{
    display:flex;
    align-items:flex-start;
    gap:13px;
    min-width:0;
    padding:18px;
    border:1px solid rgba(255,255,255,.24);
    border-radius:18px;
    background:rgba(49,34,48,.82);
    backdrop-filter:blur(10px);
    box-shadow:0 10px 24px rgba(13,4,12,.18);
}
.howl-event-detail-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.34);
    border-radius:50%;
    background:rgba(255,255,255,.15);
    font-size:1.2rem;
}
.howl-event-detail-card span{
    display:block;
    margin-bottom:3px;
    color:var(--gold);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.howl-event-detail-card strong{
    display:block;
    color:var(--white);
    font-size:.94rem;
    line-height:1.35;
}
.howl-event-detail-card small{
    display:block;
    margin-top:4px;
    color:rgba(255,255,255,.78);
    font-size:.78rem;
    line-height:1.4;
}
.howl-event-actions{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:14px;
    margin-top:32px;
}

/* Responsive */
@media(max-width:1000px){
    .howl-donate-layout{grid-template-columns:1fr;}
    .howl-donate-image{max-width:450px;margin:0 auto;}
    .howl-event-details-row{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:950px){
    .howl-hero{min-height:650px;background-position:58% center;}
    .howl-hero-content{width:56%;max-width:500px;}
    .howl-intro-grid{grid-template-columns:1fr;}
    .howl-card-grid,.howl-experience-grid{grid-template-columns:repeat(2,1fr);}
    .howl-giving-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:992px){
    .howl-attraction-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:650px){
    .howl-attraction-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .howl-container{width:min(100% - 28px,1160px);}
    .howl-section{padding:64px 0;}
    .howl-hero{
        min-height:700px;
        align-items:flex-end;
        background-image:linear-gradient(to bottom,rgba(20,8,17,.18) 0%,rgba(20,8,17,.42) 36%,rgba(20,8,17,.92) 72%,rgba(20,8,17,.98) 100%),url("https://wagsforhope.org/howl-o-wine/img/howl-o-wine.jpg");
        background-position:57% center;
    }
    .howl-hero-content{width:100%;max-width:none;padding:300px 0 48px;}
    .howl-hero .howl-title{font-size:clamp(3rem,16vw,4.5rem);}
    .howl-button-row{flex-direction:column;}
    .howl-button-row .howl-button{width:100%;}
    .howl-card-grid,.howl-experience-grid,.howl-giving-grid,.howl-sponsor-list{grid-template-columns:1fr;}
    .howl-quote-card,.howl-sponsor-box{padding:32px 25px;}
    .howl-giving-card p{min-height:auto;}
    .howl-giving-grid{grid-template-columns:1fr;}
    .howl-event-heading{margin-bottom:28px;text-align:left;}
    .howl-attraction-image{height:240px;}
    .howl-event-details-row{grid-template-columns:1fr;}
    .howl-event-actions{flex-direction:column;}
    .howl-event-actions .howl-button{width:100%;}
}

/* Vendor responsive */
@media(max-width:1000px){
    #vendors{background-attachment:scroll;}
    .howl-vendor-showcase{grid-template-columns:1fr;}
    .howl-vendor-image{width:min(620px,100%);margin:0 auto;}
}
@media(max-width:760px){
    .howl-vendor-application{padding:30px 24px;}
    .howl-form-grid-2,.howl-form-grid-3,.howl-form-grid-address{grid-template-columns:1fr;}
    .howl-vendor-submit-row{justify-content:stretch;}
    .howl-vendor-submit-row .howl-button{width:100%;min-width:0;}
}
@media(max-width:640px){
    .howl-vendor-grid{grid-template-columns:1fr;}
    .howl-vendor-application{padding:26px 18px;}
    .howl-vendor-application-heading h3{font-size:1.85rem;}
    .howl-form-field label{font-size:.96rem;}
    .howl-form-field input{height:54px;font-size:1rem;}
    .howl-vendor-image{border-radius:18px;}
}


/* Vendor application AJAX status */
.howl-vendor-form-message{
    display:none;
    margin:0 0 22px;
    padding:16px 18px;
    border-radius:12px;
    font-size:1rem;
    font-weight:700;
    line-height:1.45;
}
.howl-vendor-form-message.is-success{
    display:block;
    color:#176b3a;
    background:#e9f7ef;
    border:1px solid #b9e2c8;
}
.howl-vendor-form-message.is-error{
    display:block;
    color:#9b1c1c;
    background:#fff0f0;
    border:1px solid #efb6b6;
}
.howl-vendor-submit-row .howl-button:disabled{
    opacity:.65;
    cursor:wait;
    transform:none;
}


/* Vendor application refinement v17 */
.howl-vendor-application{
    position:relative;
    overflow:hidden;
    padding:34px 40px 32px;
    border:1px solid rgba(216,181,109,.55);
    border-top:5px solid var(--gold);
    border-radius:24px;
    background:linear-gradient(135deg,rgba(255,255,255,.995) 0%,rgba(255,250,252,.985) 100%);
    box-shadow:0 22px 54px rgba(13,4,12,.30),0 0 0 1px rgba(112,44,104,.06) inset;
}
.howl-vendor-application::after{
    content:"";
    position:absolute;
    width:230px;
    height:230px;
    right:-95px;
    top:-115px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(216,181,109,.16),rgba(216,181,109,0) 70%);
    pointer-events:none;
}
.howl-vendor-application-heading{
    position:relative;
    z-index:1;
    padding:0 0 20px 18px;
    border-left:4px solid var(--gold);
    border-bottom:1px solid var(--border);
}
.howl-vendor-application-heading h3{font-size:2.05rem;margin-bottom:6px;}
.howl-vendor-application-heading p:not(.howl-eyebrow){font-size:1rem;line-height:1.5;}
.howl-vendor-form{position:relative;z-index:1;margin-top:24px;}
.howl-form-grid{gap:18px;}
.howl-form-grid-3{margin-top:18px;}
.howl-form-grid-address{grid-template-columns:minmax(0,1fr) 110px 150px;margin-top:18px;}
.howl-form-field{margin-top:18px;}
.howl-form-field label{margin-bottom:7px;font-size:.94rem;}
.howl-form-field input{
    height:47px;
    padding:10px 14px;
    border-color:#d4c5d1;
    border-radius:9px;
    font-size:1rem;
    box-shadow:0 2px 7px rgba(64,23,56,.035) inset;
}
.howl-vendor-submit-row{margin-top:24px;padding-top:20px;}
.howl-vendor-submit-row .howl-button{min-width:245px;min-height:52px;font-size:.98rem;box-shadow:0 8px 18px rgba(112,44,104,.18);}
@media(max-width:640px){
    .howl-vendor-application{padding:27px 20px 24px;}
    .howl-vendor-application-heading{padding-left:14px;}
    .howl-vendor-application-heading h3{font-size:1.75rem;}
    .howl-form-field input{height:46px;}
}


/* Vendor application title treatment v18 */
.howl-vendor-application{
    padding:0 40px 32px;
}
.howl-vendor-application-heading{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:24px;
    margin:0 -40px;
    padding:22px 40px;
    border-left:0;
    border-bottom:3px solid var(--gold);
    background:
        radial-gradient(circle at 90% 10%,rgba(216,181,109,.18),transparent 34%),
        linear-gradient(135deg,#5b1d53 0%,#3f1439 100%);
    box-shadow:0 12px 24px rgba(48,16,43,.14);
}
.howl-vendor-title-image{
    width:140px;
    height:140px;
    flex:0 0 140px;
    padding:4px;
    border:2px solid rgba(216,181,109,.9);
    border-radius:18px;
    background:rgba(255,255,255,.08);
    box-shadow:0 10px 24px rgba(0,0,0,.24);
}
.howl-vendor-title-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center;
    border-radius:12px;
}
.howl-vendor-title-copy{min-width:0;}
.howl-vendor-application-heading .howl-eyebrow{
    margin-bottom:7px;
    color:var(--gold);
    font-size:.84rem;
    letter-spacing:.18em;
}
.howl-vendor-application-heading h3{
    margin:0 0 6px;
    color:#fff;
    font-size:2.15rem;
    text-shadow:0 3px 14px rgba(0,0,0,.2);
}
.howl-vendor-application-heading p:not(.howl-eyebrow){
    margin:0;
    color:rgba(255,255,255,.82);
    font-size:1rem;
}
.howl-vendor-form{
    margin-top:26px;
}
.howl-form-field input:focus{
    border-color:var(--wine-light);
    outline:0;
    box-shadow:0 0 0 3px rgba(112,44,104,.11),0 2px 7px rgba(64,23,56,.035) inset;
}
@media(max-width:640px){
    .howl-vendor-application{padding:0 20px 24px;}
    .howl-vendor-application-heading{
        gap:15px;
        margin:0 -20px;
        padding:18px 20px;
    }
    .howl-vendor-title-image{
        width:82px;
        height:82px;
        flex-basis:82px;
        border-radius:14px;
    }
    .howl-vendor-title-image img{border-radius:9px;}
    .howl-vendor-application-heading h3{font-size:1.65rem;}
    .howl-vendor-application-heading p:not(.howl-eyebrow){font-size:.9rem;}
}
@media(max-width:480px){
    .howl-vendor-application-heading{align-items:flex-start;}
    .howl-vendor-title-image{
        width:70px;
        height:70px;
        flex-basis:70px;
    }
    .howl-vendor-application-heading h3{font-size:1.42rem;}
}
.howl-section-divider {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 20px 3%;
    background: #2b1028;
    box-sizing: border-box;
}

.howl-section-divider-line {
    flex: 1;
    height: 2px;
    background: linear-gradient(
            90deg,
            transparent,
            #e0b45b 20%,
            #e0b45b 80%,
            transparent
    );
}

.howl-section-divider-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border: 2px solid #e0b45b;
    border-radius: 50%;
    background: #fff;
    font-size: 24px;
    box-shadow: 0 3px 14px rgba(0, 0, 0, .25);
}


/*=========================================================
  HOWL-O-WINE VENDOR SECTION — FINAL POLISH
=========================================================*/

#vendors{
    position:relative;
    overflow:hidden;
    background-image:
        linear-gradient(
            rgba(31,10,28,.76),
            rgba(31,10,28,.88)
        ),
        url("https://wagsforhope.org/howl-o-wine/img/winery.jpg");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
    background-attachment:fixed;
}

#vendors::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 18% 18%,rgba(216,181,109,.10),transparent 34%),
        linear-gradient(90deg,rgba(20,7,18,.26),transparent 45%,rgba(20,7,18,.12));
    pointer-events:none;
}

#vendors .howl-container{
    position:relative;
    z-index:2;
}

#vendors .howl-vendor-heading{
    max-width:930px;
    margin:0 auto 34px;
    padding:32px 36px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:24px;
    background:rgba(24,8,21,.46);
    box-shadow:0 18px 44px rgba(8,2,7,.22);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    text-align:left;
}

#vendors .howl-vendor-heading .howl-eyebrow{
    margin-bottom:10px;
    color:var(--gold);
    font-size:.8rem;
    letter-spacing:.18em;
}

#vendors .howl-vendor-heading .howl-section-title{
    margin-bottom:14px;
    color:#fff;
    font-size:clamp(2.1rem,4vw,3.35rem);
    line-height:1.08;
    text-shadow:0 3px 16px rgba(0,0,0,.28);
}

#vendors .howl-vendor-heading > .howl-lead{
    max-width:820px;
    color:rgba(255,255,255,.92);
    font-size:1.16rem;
    line-height:1.7;
}

.howl-vendor-alt-application{
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.18);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:14px 18px;
}

.howl-vendor-alt-application p{
    margin:0;
    color:#fff;
    font-size:1rem;
    font-weight:700;
}

.howl-button-outline-vendor{
    min-height:44px;
    padding:10px 20px;
    border:1px solid rgba(255,255,255,.5);
    color:#fff;
    background:rgba(255,255,255,.08);
    font-size:.9rem;
}

.howl-button-outline-vendor:hover{
    color:#2b1726;
    border-color:#fff;
    background:#fff;
}

.howl-vendor-showcase{
    margin-top:0;
}

/* Preserve high contrast inside the light booth cards */
#vendors .howl-vendor-card{
    color:#2d1c1d;
}

#vendors .howl-vendor-card .howl-vendor-label{
    color:#6f2630;
}

#vendors .howl-vendor-card .howl-vendor-size{
    color:#241617;
}

#vendors .howl-vendor-card .howl-vendor-price{
    color:#7b2d36;
}

#vendors .howl-vendor-card p{
    color:#4a3739;
    opacity:1;
}

/* Bottom registration/payment information */
#vendors .howl-vendor-payment-notes{
    display:grid;
    grid-template-columns:1.35fr 1fr 1fr;
    gap:18px;
    margin-top:32px;
    padding:0;
    font-size:1rem;
}

#vendors .howl-vendor-payment-notes > div{
    min-height:150px;
    padding:22px 24px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px;
    background:rgba(24,8,21,.50);
    box-shadow:0 14px 34px rgba(8,2,7,.18);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}

#vendors .howl-vendor-payment-notes strong{
    display:block;
    margin-bottom:8px;
    color:#f2d48e;
    font-size:1.02rem;
    font-weight:800;
    letter-spacing:.01em;
}

#vendors .howl-vendor-payment-notes p{
    margin:0;
    color:rgba(255,255,255,.90);
    font-size:.98rem;
    line-height:1.65;
}

#vendors .howl-vendor-payment-notes p strong{
    display:inline;
    margin:0;
    color:#fff;
    font-size:inherit;
}

@media(max-width:900px){
    #vendors .howl-vendor-heading{
        padding:26px 28px;
    }

    #vendors .howl-vendor-payment-notes{
        grid-template-columns:1fr;
    }

    #vendors .howl-vendor-payment-notes > div{
        min-height:0;
    }
}

@media(max-width:620px){
    #vendors{
        background-attachment:scroll;
    }

    #vendors .howl-vendor-heading{
        padding:22px;
        border-radius:18px;
    }

    #vendors .howl-vendor-heading > .howl-lead{
        font-size:1.04rem;
    }

    .howl-vendor-alt-application{
        align-items:flex-start;
        flex-direction:column;
    }

    .howl-button-outline-vendor{
        width:100%;
    }

    #vendors .howl-vendor-payment-notes{
        gap:12px;
    }
}



/* Vendor heading: full content width with dog image */
#vendors .howl-vendor-heading{
    max-width:none;
    width:100%;
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:28px;
    align-items:center;
}

#vendors .howl-vendor-heading-dog{
    width:150px;
    height:150px;
    object-fit:cover;
    border:3px solid rgba(255,255,255,.88);
    outline:1px solid rgba(216,181,109,.72);
    outline-offset:3px;
    border-radius:20px;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
}

#vendors .howl-vendor-heading-copy{
    min-width:0;
}

@media(max-width:760px){
    #vendors .howl-vendor-heading{
        grid-template-columns:1fr;
    }

    #vendors .howl-vendor-heading-dog{
        width:120px;
        height:120px;
    }
}


/* Vendor section refinements: larger dog image + section separator */
#vendors{
    border-top:6px solid var(--wine);
}

#vendors::after{
    content:"";
    position:absolute;
    top:6px;
    left:0;
    right:0;
    height:1px;
    background:rgba(216,181,109,.8);
    z-index:3;
}

#vendors .howl-vendor-heading{
    grid-template-columns:210px minmax(0,1fr);
    gap:34px;
}

#vendors .howl-vendor-heading-dog{
    width:210px;
    height:210px;
    border-radius:22px;
}

@media(max-width:760px){
    #vendors .howl-vendor-heading{
        grid-template-columns:1fr;
    }

    #vendors .howl-vendor-heading-dog{
        width:170px;
        height:170px;
    }
}


/* Restore original paw-print section divider */
#vendors{
    border-top:0;
}
#vendors::after{
    content:none;
}
