/* Guest instructions inherit the shared public typography and theme palette. */
main#tvInstructions {
    width: min(960px, 90%);
    margin: 0 auto;
    padding: 80px 0 52px;
    font-size: 1.0625rem;
    line-height: 1.65;
}
.theme-original #tvInstructions .tv-intro {
    padding: clamp(18px, 4vw, 36px);
    border-radius: 6px;
    background: rgba(54, 87, 114, .9);
}
#tvInstructions .tv-intro h1 { margin: 0 0 12px; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.2; }
#tvInstructions .tv-intro ul { padding-left: 24px; margin: 12px 0 0; }
#tvInstructions .tv-intro li + li { margin-top: 10px; }
#tvInstructions .tv-location-nav {
    margin: 22px 0 42px;
    padding: clamp(18px, 4vw, 28px);
    border-radius: 6px;
    background: rgba(54, 87, 114, .9);
}
#tvInstructions .tv-location-nav h2 { margin: 0 0 14px; font-size: 1.25rem; }
#tvInstructions .tv-location-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
#tvInstructions .tv-location-options a {
    display: flex;
    min-height: 76px;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 6px;
    background: rgba(20, 38, 52, .28);
    color: inherit;
    text-decoration: none;
}
#tvInstructions .tv-location-options a:hover,
#tvInstructions .tv-location-options a:focus-visible { background: rgba(20, 38, 52, .52); outline: 2px solid #4da09c; outline-offset: 2px; }
#tvInstructions .tv-location-options a span { font-size: .86rem; }
#tvInstructions .tv-setup { scroll-margin-top: 8px; }
#tvInstructions .tv-setup-heading {
    margin: 0 0 20px;
    padding: 22px clamp(18px, 4vw, 30px);
    border-left: 4px solid #4da09c;
    border-radius: 6px;
    background: rgba(23, 54, 77, .94);
}
#tvInstructions .tv-setup-heading h2 { margin: 0 0 10px; font-size: clamp(1.55rem, 3vw, 2rem); }
#tvInstructions .tv-setup-heading p + ul { padding-left: 24px; margin-top: 10px; }
#tvInstructions .tv-setup-heading li + li { margin-top: 5px; }
#tvInstructions .pool-tv-setup { margin-top: 52px; padding-top: 36px; border-top: 2px solid rgba(255, 255, 255, .55); }
#tvInstructions .pool-tv-setup .tv-setup-heading { margin-bottom: 22px; }
#tvInstructions .tv-step {
    margin: 28px 0;
    padding: clamp(18px, 4vw, 36px);
    background: rgba(54, 87, 114, .9);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 6px;
}
#tvInstructions .tv-step h3,
#tvInstructions .tv-tip h3,
#tvInstructions .pool-tv-quick-reference h3 { margin: 0 0 14px; font-size: clamp(1.3rem, 3vw, 1.65rem); line-height: 1.3; }
#tvInstructions p + p { margin-top: 12px; }
#tvInstructions figure { margin: 24px 0 0; }
#tvInstructions figure a { display: block; border-radius: 6px; }
#tvInstructions figure a:focus-visible { outline: 3px solid #4da09c; outline-offset: 5px; }
#tvInstructions img { display: block; width: 100%; height: auto; border-radius: 6px; }
#tvInstructions .tv-step-remotes figure { max-width: 380px; margin-inline: auto; }
#tvInstructions .pool-tv-step.pool-tv-remote figure { max-width: 250px; margin-inline: auto; }
#tvInstructions .pool-tv-step.pool-tv-remote img { max-height: 330px; object-fit: contain; }
#tvInstructions figcaption { margin-top: 10px; font-size: .875rem; line-height: 1.5; }
#tvInstructions .tv-tip { padding: 24px; border-left: 4px solid #4da09c; border-radius: 6px; background: #17364d; }
#tvInstructions .pool-tv-quick-reference {
    margin-top: 22px;
    padding: 20px 24px;
    border-left: 4px solid #4da09c;
    border-radius: 6px;
    background: #17364d;
}
#tvInstructions .pool-tv-quick-reference ol { display: grid; gap: 7px; margin: 0; padding-left: 24px; }
#tvInstructions .pool-tv-quick-reference li { padding-left: 3px; }
#tvInstructions .pool-tv-quick-reference li span { padding: 0 4px; color: #9ed7d3; }
.theme-modern main#tvInstructions { width: min(960px, calc(100% - 32px)); padding-top: 34px; }
.theme-modern #tvInstructions .tv-intro,
.theme-modern #tvInstructions .tv-location-nav,
.theme-modern #tvInstructions .tv-setup-heading,
.theme-modern #tvInstructions .tv-tip,
.theme-modern #tvInstructions .pool-tv-quick-reference { border: 1px solid var(--public-line); border-radius: var(--public-radius); background: var(--public-surface); color: var(--public-ink); box-shadow: var(--public-shadow); }
.theme-modern #tvInstructions .tv-setup-heading,
.theme-modern #tvInstructions .tv-tip,
.theme-modern #tvInstructions .pool-tv-quick-reference { border-left: 4px solid var(--public-teal); }
.theme-modern #tvInstructions .tv-location-options a { border-color: var(--public-line); background: var(--public-blue-soft); color: var(--public-navy); }
.theme-modern #tvInstructions .tv-location-options a:hover,
.theme-modern #tvInstructions .tv-location-options a:focus-visible { background: #dce9f0; }
.theme-modern #tvInstructions .tv-setup-heading h2,
.theme-modern #tvInstructions .tv-location-nav h2 { color: var(--public-navy); }
.theme-modern #tvInstructions .pool-tv-quick-reference li span { color: var(--public-teal-dark); }
.theme-modern #tvInstructions .tv-step {
    border: 1px solid var(--public-line);
    border-radius: var(--public-radius);
    background: var(--public-surface);
    box-shadow: var(--public-shadow);
}
.theme-modern #tvInstructions figcaption { color: var(--public-muted); }
.theme-modern #tvInstructions .tv-tip { border-color: var(--public-teal); background: var(--public-blue-soft); border-radius: var(--public-radius); }
.theme-modern #tvInstructions .pool-tv-quick-reference { border-color: var(--public-teal); background: var(--public-blue-soft); border-radius: var(--public-radius); }
@media (min-width: 720px) {
    #tvInstructions .tv-step-remotes { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
    #tvInstructions .tv-step-remotes figure { margin-top: 0; }
    #tvInstructions .pool-tv-step { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 0 30px; align-items: center; }
    #tvInstructions .pool-tv-step h3 { grid-column: 1 / -1; }
    #tvInstructions .pool-tv-step .pool-tv-copy { grid-column: 1; }
    #tvInstructions .pool-tv-step figure { grid-column: 2; grid-row: 2; margin: 0; }
    #tvInstructions .pool-tv-step.pool-tv-remote figure { grid-column: 2; }
}
@media (max-width: 560px) {
    #tvInstructions .tv-location-options { grid-template-columns: 1fr; }
    #tvInstructions .tv-location-options a { min-height: 64px; }
    #tvInstructions .pool-tv-quick-reference { padding: 18px; }
    #tvInstructions .pool-tv-quick-reference ol { gap: 9px; }
}
