/* DropX Prime System — Public guest landing */
.guest-home-page {
    min-height: calc(100vh - 120px);
    padding: 26px 20px 56px;
    box-sizing: border-box;
}

.guest-home-shell {
    width: min(1320px, 100%);
    margin: 0 auto;
}

.guest-hero-card,
.guest-public-card {
    border: 1px solid rgba(154, 100, 23, .24);
    background: linear-gradient(145deg, rgba(251,245,235,.92), rgba(232,214,187,.82));
    box-shadow: 0 20px 45px rgba(83,57,29,.10), inset 0 1px 0 rgba(255,255,255,.78);
}

.guest-hero-card {
    padding: 34px 36px 30px;
    border-radius: 18px;
}

.guest-eyebrow,
.guest-section-label,
.guest-card-kicker {
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: .12em;
    color: #73552d;
}

.guest-eyebrow {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
}

.guest-eyebrow svg,
.guest-section-label svg {
    width: 19px;
    height: 19px;
}

.guest-hero-card h1 {
    margin: 5px 0 8px;
    font-family: 'Chakra Petch', sans-serif;
    font-size: clamp(2rem, 4vw, 3.5rem);
    line-height: .98;
    letter-spacing: .025em;
    color: #2b241e;
}

.guest-hero-line {
    width: min(470px, 55%);
    height: 2px;
    margin: 0 0 24px 0;
    background: linear-gradient(90deg, #9a6417, rgba(154,100,23,0));
}

.guest-hero-card p,
.guest-section-intro,
.guest-public-card small {
    font-family: 'Rajdhani', sans-serif;
    color: #665b4f;
}

.guest-hero-card p {
    max-width: 1060px;
    margin: 0;
    font-size: 17px;
    line-height: 1.45;
}

.guest-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.guest-action {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(154,100,23,.35);
    border-radius: 11px;
    color: #79551e;
    text-decoration: none;
    font: 700 14px 'Rajdhani', sans-serif;
    letter-spacing: .09em;
    background: rgba(255,250,241,.54);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.guest-action:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.76);
    box-shadow: 0 10px 22px rgba(94,61,24,.12);
}

.guest-section-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 10px 0 34px;
    font-size: 14px;
    font-weight: 700;
}

.guest-destination-section h2 {
    margin: 0;
    font: 700 clamp(2rem, 3.1vw, 3rem)/1 'Chakra Petch', sans-serif;
    color: #2b241e;
}

.guest-section-intro {
    margin: 12px 0 26px;
    font-size: 17px;
}

.guest-public-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.guest-public-card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 190px;
    padding: 22px 24px 24px;
    border-radius: 15px;
    color: inherit;
    text-decoration: none;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.guest-public-card::after {
    content: '';
    position: absolute;
    width: 220px;
    height: 220px;
    right: -100px;
    bottom: -130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(197,143,61,.18), transparent 68%);
    pointer-events: none;
}

.guest-public-card:hover {
    transform: translateY(-4px);
    border-color: rgba(154,100,23,.48);
    box-shadow: 0 24px 50px rgba(83,57,29,.14), inset 0 1px 0 rgba(255,255,255,.88);
}

.guest-card-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 12px;
    border: 1px solid rgba(154,100,23,.28);
    border-radius: 10px;
    color: #8b5d19;
    background: rgba(255,250,241,.7);
}

.guest-card-icon svg { width: 21px; height: 21px; }
.guest-card-kicker { font-size: 12px; font-weight: 700; }
.guest-public-card strong {
    margin-top: 5px;
    font: 700 24px/1.05 'Chakra Petch', sans-serif;
    color: #2d261f;
}
.guest-public-card small {
    max-width: 700px;
    margin-top: 12px;
    font-size: 16px;
    line-height: 1.35;
}
.guest-card-arrow {
    margin-top: auto;
    padding-top: 12px;
    font: 700 22px/1 'Chakra Petch', sans-serif;
    color: #9a6417;
}

/* A vendég oldal érkezési animációja az authból történő teljes oldalas váltás után. */
body.dx-guest-page .app-container {
    animation: dxGuestHomeEnter .72s cubic-bezier(.16,1,.3,1) both;
}

@keyframes dxGuestHomeEnter {
    from { opacity: 0; transform: scale(1.025) translateY(18px); filter: blur(7px); }
    to { opacity: 1; transform: scale(1) translateY(0); filter: blur(0); }
}

@media (max-width: 800px) {
    .guest-home-page { padding: 18px 12px 42px; }
    .guest-hero-card { padding: 25px 22px; }
    .guest-hero-card h1 { font-size: 2rem; }
    .guest-hero-line { width: 100%; }
    .guest-public-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    body.dx-guest-page .app-container { animation: none; }
    .guest-action, .guest-public-card { transition: none; }
}
