/* Shared Apparel Monkey skin for hospitality and its kit builder.
   Uses the same brand tokens, hero treatment and angular components as site-redesign.css. */
.hospitality-page, .hkb {
    color: var(--am-text);
    background: var(--am-light);
    --kit-ink: var(--am-ink);
    --kit-purple: var(--am-purple);
    --kit-pink: var(--am-pink);
    --kit-line: var(--am-border);
    --kit-muted: var(--am-muted);
}
.hospitality-hero, .hkb-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.5rem, 7vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
    color: var(--am-white);
    border: 0;
    background:
        radial-gradient(circle at 82% 20%, rgba(236,45,159,.34), transparent 25rem),
        radial-gradient(circle at 10% 78%, rgba(0,217,255,.18), transparent 18rem),
        linear-gradient(135deg, #050409 0%, #0b0a15 44%, #25113a 100%);
}
.hospitality-hero::before, .hkb-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .5;
    pointer-events: none;
    background:
        radial-gradient(circle, rgba(236,47,159,.9) 0 2px, transparent 3px) 5% 18% / 120px 96px,
        radial-gradient(circle, rgba(0,217,255,.75) 0 2px, transparent 3px) 76% 56% / 132px 108px,
        linear-gradient(110deg, transparent 0 52%, rgba(111,45,189,.28) 52% 58%, transparent 58%);
}
.hospitality-hero > .container, .hkb-hero > .container { position: relative; z-index: 1; }
.hospitality-hero h1, .hkb-hero h1 {
    color: var(--am-white);
    font-size: clamp(2.7rem, 7vw, 5.6rem);
    font-weight: 950;
    line-height: .93;
    letter-spacing: -.025em;
    text-transform: uppercase;
    text-wrap: balance;
    text-shadow: 0 6px 0 rgba(236,47,159,.18);
    margin-bottom: 1.5rem;
}
.hospitality-hero h1 { font-size: clamp(2.7rem, 6vw, 4.8rem); }
.hospitality-hero h1 span, .hkb-hero h1 span { color: var(--am-cyan); }
.hospitality-hero .hospitality-kicker, .hkb-hero .hkb-eyebrow {
    display: inline-block;
    color: var(--am-white);
    background: var(--am-purple);
    padding: .45rem .8rem;
    font-weight: 900;
    letter-spacing: .08em;
    transform: rotate(-1deg);
}
.hospitality-intro, .hkb-hero > .container > p:not(.hkb-eyebrow) {
    color: rgba(255,255,255,.9);
    font-size: clamp(1.05rem, 2vw, 1.24rem);
    line-height: 1.6;
}
.hkb-back, .hospitality-text-link, .hospitality-hero__panel a { color: var(--am-cyan); }
.hkb-back:hover, .hospitality-text-link:hover, .hospitality-hero__panel a:hover { color: var(--am-white); }
.hospitality-hero__panel {
    background: rgba(8,7,13,.58);
    border: 2px solid var(--am-pink);
    border-radius: 0;
    box-shadow: 12px 12px 0 rgba(236,47,159,.2);
    transform: rotate(-1deg);
}
.hospitality-hero__panel h2 { text-transform: uppercase; font-weight: 950; line-height: 1; }
.hospitality-hero__panel > .hospitality-icon { color: var(--am-cyan); font-size: 48px; margin-bottom: 24px; }
.hospitality-page .am-btn, .hkb .hkb-button {
    border-radius: 0;
    min-height: 52px;
    padding: .9rem 1.6rem;
    border: 2px solid transparent;
    background: linear-gradient(135deg, var(--am-pink), #b51dd9);
    color: var(--am-white);
    font-weight: 950;
    font-size: .9rem;
    text-transform: uppercase;
    text-decoration: none;
    clip-path: polygon(7% 0, 100% 0, 93% 100%, 0 100%);
    transition: transform .2s ease, background .2s ease;
}
.hospitality-page .am-btn:hover, .hkb .hkb-button:hover:not(:disabled) { color: #fff; transform: translateY(-2px); background: linear-gradient(135deg, #d9188b, var(--am-purple)); }
.hkb .hkb-button--outline { background: var(--am-white); border-color: var(--am-purple); color: var(--am-deep-purple); clip-path: none; }
.hkb .hkb-button--outline:hover:not(:disabled) { background: var(--am-deep-purple); color: #fff; }
.hkb-steps { color: var(--am-white); }
.hkb-steps b { background: var(--am-black); border: 2px solid var(--am-cyan); color: var(--am-cyan); border-radius: 0; }
.hkb-summary { background: var(--am-black); border: 2px solid var(--am-purple); border-radius: 0; box-shadow: 7px 7px 0 rgba(111,45,189,.13); }
.hkb-summary h2 { color: #fff; font-weight: 950; text-transform: uppercase; }
.hkb-summary p, .hkb-summary__action small { color: #dbd5e6; }
.hkb-summary__action strong { color: var(--am-cyan); }
.hkb-tab { border: 2px solid var(--am-border); border-radius: 0; font-weight: 900; text-transform: uppercase; font-size: .8rem; }
.hkb-tab[aria-selected=true] { background: var(--am-deep-purple); color: #fff; border-color: var(--am-deep-purple); box-shadow: inset 0 -3px var(--am-cyan); }
.hkb-tab:hover:not([aria-selected=true]) { border-color: var(--am-purple); }
.hkb-search input, .hkb-input { border: 2px solid var(--am-border); border-radius: 0; }
.hkb-search input:focus, .hkb-input:focus { border-color: var(--am-purple); }
.hkb-products { gap: 24px 18px; }
.hkb-card { background: #fff; border: 2px solid var(--am-border); box-shadow: 5px 5px 0 rgba(111,45,189,.08); padding: 12px; }
.hkb-card__image { border-radius: 0; background: #f6f4f8; }
.hkb-card h3 { font-weight: 900; text-transform: uppercase; }
.hkb-card__add { border-radius: 0; border: 2px solid var(--am-purple); background: #fff; color: var(--am-deep-purple); text-transform: uppercase; font-weight: 900; }
.hkb-card__add.is-added { background: var(--am-deep-purple); border-color: var(--am-deep-purple); color: #fff; }
.hkb-basket { border: 2px solid var(--am-purple); border-radius: 0; box-shadow: 7px 7px 0 rgba(111,45,189,.12); }
.hkb-basket h2, .hkb-help h2, .hkb-help h3 { text-transform: uppercase; font-weight: 950; }
.hkb-basket__totals strong { color: var(--am-deep-purple); }
.hkb-dialog { border-radius: 0; border-top: 5px solid var(--am-pink); box-shadow: 12px 12px 0 rgba(111,45,189,.35), 0 25px 100px #0005; }
.hkb-dialog::backdrop { background: rgba(8,7,13,.76); }
.hkb-dialog__header h2, .hkb-label-row h3, .hkb-logo-body h3 { font-weight: 950; text-transform: uppercase; }
.hkb-product-visual { background: #f6f4f8; }
.hkb-close, .hkb-view-image { border-radius: 0; background: #eee7f5; color: var(--am-deep-purple); }
.hkb-close:hover { background: var(--am-deep-purple); color: var(--am-cyan); }
.hkb-size { border: 2px solid var(--am-border); border-radius: 0; }
.hkb-size button { color: var(--am-deep-purple); background: #eee7f5; }
.hkb-size button:hover:not(:disabled) { color: var(--am-deep-purple); background: #dffaff; }
.hkb-choice, .hkb-dropzone, .hkb-later, .hkb-decoration-product, .hkb-logo-body .hkb-decoration-option, .hkb-logo-preview { border-radius: 0; }
.hkb-choice { border-width: 2px; font-weight: 800; }
.hkb-choice[aria-pressed=true] { border-color: var(--am-purple); background: #f0e8fa; }
.hkb-dropzone { border-color: var(--am-purple); background: #f6f4fb; }
.hkb-dropzone > .hkb-icon { color: var(--am-purple); }
.hkb-decoration-product { border: 2px solid var(--am-border); }
.hkb-decoration-product h4 { font-weight: 900; text-transform: uppercase; }
.hkb-logo-body .hkb-decoration-option:has(input:checked) { background: #f0e8fa; border-color: var(--am-purple); }
.hkb-logo-footer { border-top: 2px solid var(--am-purple); }
.hkb-logo-total strong { color: var(--am-deep-purple); }
.hkb-flow-nav .is-current { color: var(--am-deep-purple); border-bottom: 2px solid var(--am-pink); }
.hospitality-section h2, .hospitality-kit h3, .hospitality-advice-grid h3, .hospitality-faq h3 { font-weight: 950; text-transform: uppercase; }
.hospitality-kicker, .hospitality-kit__for { color: var(--am-purple); font-weight: 900; }
.hospitality-kit { border: 2px solid var(--am-purple); border-radius: 0; background: #fff; box-shadow: 9px 9px 0 rgba(111,45,189,.13); }
.hospitality-kit > .hospitality-icon { color: var(--am-purple); font-size: 34px; margin-bottom: 24px; }
.hospitality-kit a { color: var(--am-deep-purple); text-transform: uppercase; font-weight: 900; }
.hospitality-section--light { background: #eee7f5; border-block: 1px solid var(--am-border); }
.hospitality-faq { background: #fff; padding: 28px; border: 2px solid var(--am-border); box-shadow: 8px 8px 0 rgba(111,45,189,.1); }
.hospitality-faq details { border-color: var(--am-border); }
.hospitality-page a:focus-visible, .hospitality-page summary:focus-visible, .hkb a:focus-visible, .hkb button:focus-visible { outline: 3px solid #00748c; outline-offset: 4px; }
.hospitality-hero a:focus-visible, .hkb-hero a:focus-visible, .hkb-summary button:focus-visible { outline-color: var(--am-cyan); }
.hospitality-icon { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; font-size: 22px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; vertical-align: middle; }
@media(max-width:767px) {
    .hospitality-hero, .hkb-hero { padding: 3rem 0; }
    .hospitality-hero h1, .hkb-hero h1 { font-size: clamp(2.5rem, 10.5vw, 4rem); line-height: .98; }
    .hospitality-hero__panel { transform: none; box-shadow: 6px 6px 0 rgba(236,47,159,.2); }
    .hkb .hkb-button { padding: .8rem 1.1rem; font-size: .8rem; }
    .hkb-card { padding: 9px; box-shadow: 3px 3px 0 rgba(111,45,189,.08); }
    .hkb-products { gap: 18px 12px; }
    .hkb-dialog { box-shadow: 5px 5px 0 rgba(111,45,189,.35), 0 25px 100px #0005; }
    .hospitality-kit { box-shadow: 5px 5px 0 rgba(111,45,189,.13); }
    .hospitality-faq { padding: 22px; }
}
@media(prefers-reduced-motion:reduce) { .hospitality-page .am-btn, .hkb .hkb-button { transition: none; } }
.hkb-hero .hkb-back { display: block; width: fit-content; margin-bottom: 22px; }
.hospitality-process .am-btn { margin-top: 20px; }
