/*
 * Azores.com Package Document
 * Phase 1 stylesheet.
 *
 * Upload destination:
 * /wp-content/themes/portugal/css/print/package_document.css
 */

@page {
    size: Letter portrait;
    margin: 0.75in 0.70in 0.75in;

    @bottom-left {
        content: "https://azores.com";
        font-family: Arial, Helvetica, sans-serif;
        font-size: 8pt;
        color: #666;
        border-top: 0.5pt solid #b7c0cc;
        padding-top: 0.08in;
    }

    @bottom-right {
        content: "Page " counter(page);
        font-family: Arial, Helvetica, sans-serif;
        font-size: 8pt;
        color: #666;
        border-top: 0.5pt solid #b7c0cc;
        padding-top: 0.08in;
    }
}

* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    background: #eef1f5;
    color: #222;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.55;
}

body.az-package-document {
    min-height: 100vh;
}

.az-doc-site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    max-width: 900px;
    margin: 24px auto 0;
    padding: 18px 22px;
    background: #fff;
    border: 1px solid #d9e0ea;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(34, 49, 75, 0.08);
}

.az-doc-brand {
    display: flex;
    align-items: center;
    gap: 16px;
}

.az-doc-logo {
    display: block;
    width: 152px;
    height: auto;
}

.az-doc-kicker {
    margin: 0;
    color: #2f4a2f;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}

.az-doc-subtitle {
    margin: 4px 0 0;
    color: #5b6574;
    font-size: 13px;
}

.az-doc-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.az-doc-actions button,
.az-doc-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #2f68a8;
    border-radius: 4px;
    background: #3b7bcd;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}

.az-doc-actions a {
    background: #fff;
    color: #2f68a8;
}

.az-doc-page {
    max-width: 900px;
    margin: 20px auto 36px;
    padding: 34px 42px 40px;
    background: #fff;
    border: 1px solid #d9e0ea;
    border-radius: 6px;
    box-shadow: 0 4px 14px rgba(34, 49, 75, 0.08);
}

.az-doc-cover {
    padding-bottom: 24px;
    border-bottom: 2px solid #dfe6f0;
}

.az-doc-label {
    margin: 0 0 8px;
    color: #3b7bcd;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.az-doc-cover h1 {
    margin: 0;
    color: #111;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.15;
}

.az-doc-lead {
    margin-top: 18px;
    color: #2e3745;
    font-size: 18px;
    line-height: 1.55;
}

.az-doc-lead p:last-child,
.az-doc-content p:last-child {
    margin-bottom: 0;
}

.az-doc-reference-note {
    margin: 22px 0 0;
    padding: 14px 16px;
    border-left: 4px solid #3b7bcd;
    background: #f3f7fc;
    color: #3e4a59;
    font-size: 13px;
    line-height: 1.45;
}

.az-doc-section {
    margin-top: 30px;
}

.az-doc-section h2 {
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #dfe6f0;
    color: #111;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.2;
}

.az-doc-content h1,
.az-doc-content h2 {
    margin-top: 22px;
    color: #111;
    font-size: 22px;
    line-height: 1.25;
}

.az-doc-content h3 {
    margin: 20px 0 8px;
    color: #2f68a8;
    font-size: 18px;
    line-height: 1.3;
}

.az-doc-content p,
.az-doc-content li {
    font-size: 15px;
    line-height: 1.55;
}

.az-doc-content ul,
.az-doc-content ol {
    margin: 0 0 18px 22px;
    padding: 0;
}

.az-doc-content img {
    max-width: 100%;
    height: auto;
}

.az-doc-muted {
    color: #666;
    font-style: italic;
}

.az-doc-screen-footer {
    max-width: 900px;
    margin: 0 auto 30px;
    color: #667085;
    font-size: 13px;
    text-align: center;
}

.az-package-document-error .az-doc-page {
    max-width: 680px;
}



/* Phase 1.1: keep oversized WordPress images, maps and captions inside the document page. */
.az-doc-content,
.az-doc-content * {
    max-width: 100%;
}

.az-doc-content img {
    display: block;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
}

.az-doc-content figure,
.az-doc-content .wp-caption,
.az-doc-content .aligncenter,
.az-doc-content .alignleft,
.az-doc-content .alignright,
.az-doc-content .size-full {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}



/* Phase 2: itinerary-at-a-glance and day-by-day document styles. */
.az-doc-at-a-glance .az-doc-content {
    padding: 18px 20px;
    background: #f7f9fc;
    border: 1px solid #dfe6f0;
    border-radius: 6px;
}

.az-doc-day-by-day details {
    display: block;
    margin: 0 0 14px;
    padding: 16px 18px;
    border: 1px solid #dfe6f0;
    border-radius: 6px;
    background: #fff;
}

.az-doc-day-by-day summary {
    display: block;
    margin: 0 0 8px;
    color: #2f68a8;
    font-size: 18px;
    font-weight: 700;
    cursor: default;
}

.az-doc-day-by-day summary::-webkit-details-marker {
    display: none;
}

.az-doc-day-by-day details > summary::before {
    content: none !important;
}

.az-doc-day-by-day .hiking-day-content,
.az-doc-day-by-day .day-content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.az-doc-day-by-day details[open] > * {
    visibility: visible !important;
}



/* Phase 2.1: format itinerary-at-a-glance lists as document cards instead of plain numbered text. */
.az-doc-content h2 + ol,
.az-doc-content h3 + ol,
.az-doc-at-a-glance ol {
    counter-reset: az-doc-glance-counter;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 12px;
    margin: 12px 0 24px;
    padding: 0;
    list-style: none;
}

.az-doc-content h2 + ol > li,
.az-doc-content h3 + ol > li,
.az-doc-at-a-glance ol > li {
    position: relative;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px 10px 46px;
    border: 1px solid #dfe6f0;
    border-radius: 6px;
    background: #f8fafc;
    color: #1f2937;
    font-size: 14px;
    line-height: 1.35;
}

.az-doc-content h2 + ol > li::before,
.az-doc-content h3 + ol > li::before,
.az-doc-at-a-glance ol > li::before {
    counter-increment: az-doc-glance-counter;
    content: counter(az-doc-glance-counter);
    position: absolute;
    left: 12px;
    top: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #3b7bcd;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

.az-doc-content h2 + ol > li strong,
.az-doc-content h3 + ol > li strong,
.az-doc-at-a-glance ol > li strong {
    color: #111;
}



/* Phase 3.3: custom What's included layout mirroring the live package page. */
.az-doc-included .az-doc-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.az-doc-features-layout {
    display: block;
}

.az-doc-feature-note {
    margin: 0 0 26px;
    padding: 16px 20px;
    border-left: 4px solid #b65a37;
    background: #fbf5f2;
}

.az-doc-feature-columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 30px;
    align-items: start;
}

.az-doc-feature-primary {
    min-width: 0;
}

.az-doc-feature-list {
    margin: 0 0 26px;
}

.az-doc-feature-side {
    min-width: 0;
    padding: 18px 20px;
    border: 1px solid #d9deea;
    border-radius: 4px;
    background: #f3f5fb;
}

.az-doc-feature-side-section {
    margin: 0 0 22px;
}

.az-doc-feature-side-section:last-child,
.az-doc-feature-list:last-child {
    margin-bottom: 0;
}

.az-doc-feature-note h3,
.az-doc-feature-list h3,
.az-doc-feature-side h3 {
    margin: 0 0 10px;
    color: #4d6ddb;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.az-doc-feature-note ul,
.az-doc-feature-list ul,
.az-doc-feature-side ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.az-doc-feature-note li,
.az-doc-feature-list li,
.az-doc-feature-side li {
    position: relative;
    margin: 0 0 9px;
    padding-left: 22px;
    color: #111;
    font-size: 14px;
    line-height: 1.48;
}

.az-doc-feature-note li::before,
.az-doc-feature-side li::before {
    content: "•";
    position: absolute;
    left: 4px;
    top: 0;
    color: #111;
}

.az-doc-feature-included li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    color: #236b37;
    font-weight: 700;
}

.az-doc-feature-not-included li::before {
    content: "×";
    position: absolute;
    left: 0;
    top: 0;
    color: #a13b24;
    font-weight: 700;
}

.az-doc-feature-side p,
.az-doc-feature-list p,
.az-doc-feature-note p {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
}

.az-doc-policies .az-doc-content {
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #dfe6f0;
    border-radius: 6px;
}

.az-doc-policies h3 {
    margin-top: 0;
}

.az-doc-policies h4 {
    margin: 18px 0 8px;
    color: #2f68a8;
    font-size: 16px;
    line-height: 1.3;
}

.az-doc-policies p,
.az-doc-policies li {
    font-size: 14px;
}



/* Phase 4: document hotel section. */
.az-doc-hotels .az-doc-content {
    padding: 0;
    border: 0;
    background: transparent;
}

.az-doc-hotel-disclaimer {
    margin: 0 0 18px;
    padding: 14px 16px;
    border-left: 4px solid #3b7bcd;
    background: #f3f7fc;
    color: #3e4a59;
    font-size: 13px;
    line-height: 1.45;
}

.az-doc-hotel-group {
    margin: 0 0 24px;
}

.az-doc-hotel-group h3 {
    margin: 0 0 12px;
    color: #4d6ddb;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.az-doc-hotel-card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin: 0 0 16px;
    padding: 16px 18px;
    border: 1px solid #dfe6f0;
    border-radius: 6px;
    background: #f8fafc;
}

.az-doc-hotel-media {
    min-width: 0;
}

.az-doc-hotel-image {
    display: block;
    width: 100% !important;
    max-width: 180px !important;
    height: auto !important;
    border-radius: 4px;
}

.az-doc-hotel-copy {
    min-width: 0;
}

.az-doc-hotel-copy h4 {
    margin: 0 0 4px;
    color: #111;
    font-size: 17px;
    line-height: 1.25;
}

.az-doc-hotel-location {
    margin: 0 0 8px;
    color: #5b6574;
    font-size: 13px;
    font-weight: 700;
}

.az-doc-hotel-description p {
    margin: 0 0 8px;
    color: #222;
    font-size: 14px;
    line-height: 1.5;
}



/* Phase 5.1: Travel Insurance reddish policy card. */
.az-doc-policies .az-doc-policy-alert-card {
    margin: 24px 0 0;
    padding: 18px 20px;
    border-left: 4px solid #b65a37;
    border-radius: 4px;
    background: #fbf5f2;
}

.az-doc-policies .az-doc-policy-alert-card h2,
.az-doc-policies .az-doc-policy-alert-card h3,
.az-doc-policies .az-doc-policy-alert-card h4 {
    margin-top: 0;
    color: #111;
}

.az-doc-policies .az-doc-policy-alert-card h2,
.az-doc-policies .az-doc-policy-alert-card h3 {
    padding-bottom: 8px;
    border-bottom: 1px solid #ead8d0;
}

.az-doc-policies .az-doc-policy-alert-card ul,
.az-doc-policies .az-doc-policy-alert-card ol {
    margin-bottom: 0;
}

.az-doc-policies .az-doc-policy-alert-card li::marker {
    color: #b65a37;
}

@media print {
    html,
    body {
        background: #fff !important;
        color: #111 !important;
        font-size: 11pt;
        line-height: 1.45;
    }

    .az-doc-site-header {
        max-width: none;
        margin: 0 0 18pt;
        padding: 0 0 10pt;
        border: 0;
        border-bottom: 1pt solid #9aa8b8;
        border-radius: 0;
        box-shadow: none;
    }

    .az-doc-logo {
        width: 1.55in;
    }

    .az-doc-kicker {
        font-size: 16pt;
    }

    .az-doc-subtitle {
        font-size: 9pt;
    }

    .az-doc-actions,
    .az-doc-screen-footer {
        display: none !important;
    }

    .az-doc-page {
        max-width: none;
        margin: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .az-doc-cover {
        padding-bottom: 16pt;
        border-bottom: 1pt solid #d3dbe6;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-cover h1 {
        font-size: 24pt;
        line-height: 1.14;
    }

    .az-doc-lead {
        font-size: 12pt;
        line-height: 1.45;
    }

    .az-doc-reference-note {
        margin-top: 14pt;
        padding: 9pt 11pt;
        font-size: 9pt;
    }

    .az-doc-section {
        margin-top: 20pt;
        break-inside: auto;
        page-break-inside: auto;
    }

    .az-doc-section h2 {
        font-size: 17pt;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-content h1,
    .az-doc-content h2,
    .az-doc-content h3,
    .az-doc-content h4 {
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-content p,
    .az-doc-content li {
        font-size: 10.5pt;
        line-height: 1.45;
        orphans: 3;
        widows: 3;
    }

    .az-doc-content img,
    .az-doc-content figure,
    .az-doc-content .wp-caption,
    .az-doc-content table {
        max-width: 100% !important;
        width: auto !important;
        height: auto !important;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }


    .az-doc-at-a-glance .az-doc-content {
        padding: 10pt 12pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
        background: #fff;
    }

    .az-doc-day-by-day details {
        margin-bottom: 10pt;
        padding: 10pt 11pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
        break-inside: auto;
        page-break-inside: auto;
    }

    .az-doc-day-by-day summary {
        font-size: 12.5pt;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-day-by-day .hiking-day-content,
    .az-doc-day-by-day .day-content,
    .az-doc-day-by-day details {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }


    .az-doc-content h2 + ol,
    .az-doc-content h3 + ol,
    .az-doc-at-a-glance ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6pt 8pt;
        margin: 8pt 0 14pt;
    }

    .az-doc-content h2 + ol > li,
    .az-doc-content h3 + ol > li,
    .az-doc-at-a-glance ol > li {
        min-height: 30pt;
        padding: 7pt 8pt 7pt 30pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
        background: #fff;
        font-size: 9pt;
        line-height: 1.3;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-content h2 + ol > li::before,
    .az-doc-content h3 + ol > li::before,
    .az-doc-at-a-glance ol > li::before {
        left: 7pt;
        top: 7pt;
        width: 17pt;
        height: 17pt;
        font-size: 8pt;
    }


    .az-doc-feature-note {
        margin-bottom: 15pt;
        padding: 9pt 11pt;
        border-left: 3pt solid #999;
        background: #fff;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-feature-columns {
        grid-template-columns: minmax(0, 1fr) 2.35in;
        gap: 18pt;
        align-items: start;
    }

    .az-doc-feature-list {
        margin-bottom: 14pt;
        break-inside: auto;
        page-break-inside: auto;
    }

    .az-doc-feature-side {
        padding: 10pt 11pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
        background: #fff;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-feature-note h3,
    .az-doc-feature-list h3,
    .az-doc-feature-side h3 {
        margin-bottom: 6pt;
        font-size: 12pt;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-feature-note li,
    .az-doc-feature-list li,
    .az-doc-feature-side li,
    .az-doc-feature-side p,
    .az-doc-feature-list p,
    .az-doc-feature-note p {
        font-size: 9.5pt;
        line-height: 1.38;
    }

    .az-doc-policies .az-doc-content {
        padding: 10pt 12pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
    }

    .az-doc-policies h3,
    .az-doc-policies h4 {
        break-after: avoid-page;
        page-break-after: avoid;
    }


    .az-doc-hotel-disclaimer {
        margin-bottom: 10pt;
        padding: 8pt 10pt;
        border-left: 3pt solid #999;
        background: #fff;
        font-size: 9pt;
    }

    .az-doc-hotel-group {
        margin-bottom: 14pt;
    }

    .az-doc-hotel-group h3 {
        margin-bottom: 7pt;
        font-size: 12pt;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-hotel-card {
        grid-template-columns: 1.45in minmax(0, 1fr);
        gap: 10pt;
        margin-bottom: 9pt;
        padding: 8pt 9pt;
        border: 0.75pt solid #d3dbe6;
        border-radius: 0;
        background: #fff;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-hotel-image {
        max-width: 1.45in !important;
        border-radius: 0;
    }

    .az-doc-hotel-copy h4 {
        font-size: 11.5pt;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-hotel-location,
    .az-doc-hotel-description p {
        font-size: 9.5pt;
        line-height: 1.35;
    }

    a[href]::after {
        content: none !important;
    }
}

/* Phase 5: final print / PDF cleanup overrides. */
@media print {
    @page {
        size: Letter portrait;
        margin: 0.58in 0.55in 0.62in;

        @top-left {
            content: "Azores.com Travel & Tours";
            font-family: Arial, Helvetica, sans-serif;
            font-size: 8pt;
            color: #555;
        }

        @top-right {
            content: "Package document";
            font-family: Arial, Helvetica, sans-serif;
            font-size: 8pt;
            color: #555;
        }

        @bottom-left {
            content: "https://azores.com";
            font-family: Arial, Helvetica, sans-serif;
            font-size: 8pt;
            color: #666;
            border-top: 0.5pt solid #b7c0cc;
            padding-top: 0.08in;
        }

        @bottom-right {
            content: "Page " counter(page);
            font-family: Arial, Helvetica, sans-serif;
            font-size: 8pt;
            color: #666;
            border-top: 0.5pt solid #b7c0cc;
            padding-top: 0.08in;
        }
    }

    * {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    html,
    body.az-package-document {
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .az-doc-site-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 0 14pt !important;
        padding: 0 0 8pt !important;
        border: 0 !important;
        border-bottom: 1pt solid #9aa8b8 !important;
        background: #fff !important;
        break-after: avoid-page;
        page-break-after: avoid;
    }

    .az-doc-logo {
        width: 1.35in !important;
        max-width: 1.35in !important;
    }

    .az-doc-kicker {
        margin: 0 !important;
        font-size: 13pt !important;
        line-height: 1.15 !important;
    }

    .az-doc-subtitle {
        margin-top: 2pt !important;
        font-size: 8.5pt !important;
        line-height: 1.2 !important;
    }

    .az-doc-page {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .az-doc-cover {
        padding-bottom: 12pt !important;
        margin-bottom: 12pt !important;
    }

    .az-doc-label {
        margin-bottom: 4pt !important;
        font-size: 8pt !important;
    }

    .az-doc-cover h1 {
        font-size: 21pt !important;
        line-height: 1.12 !important;
    }

    .az-doc-lead {
        margin-top: 10pt !important;
        font-size: 10.5pt !important;
        line-height: 1.35 !important;
    }

    .az-doc-reference-note {
        margin-top: 10pt !important;
        padding: 7pt 9pt !important;
        font-size: 8.5pt !important;
        line-height: 1.32 !important;
    }

    .az-doc-section {
        margin-top: 16pt !important;
        overflow: visible !important;
    }

    .az-doc-section h2 {
        margin-bottom: 8pt !important;
        padding-bottom: 4pt !important;
        font-size: 15.5pt !important;
        line-height: 1.18 !important;
        border-bottom: 0.75pt solid #cfd8e5 !important;
    }

    .az-doc-content h2,
    .az-doc-content h3,
    .az-doc-content h4 {
        margin-top: 11pt !important;
    }

    .az-doc-content p,
    .az-doc-content li {
        font-size: 9.5pt !important;
        line-height: 1.36 !important;
    }

    .az-doc-content img {
        max-width: 100% !important;
        height: auto !important;
    }

    .az-doc-at-a-glance .az-doc-content {
        padding: 8pt 9pt !important;
    }

    .az-doc-content h2 + ol,
    .az-doc-content h3 + ol,
    .az-doc-at-a-glance ol {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 5pt 7pt !important;
        margin: 7pt 0 10pt !important;
    }

    .az-doc-content h2 + ol > li,
    .az-doc-content h3 + ol > li,
    .az-doc-at-a-glance ol > li {
        min-height: 26pt !important;
        padding: 6pt 7pt 6pt 28pt !important;
        font-size: 8.5pt !important;
        line-height: 1.25 !important;
    }

    .az-doc-content h2 + ol > li::before,
    .az-doc-content h3 + ol > li::before,
    .az-doc-at-a-glance ol > li::before {
        left: 7pt !important;
        top: 6pt !important;
        width: 16pt !important;
        height: 16pt !important;
        font-size: 8pt !important;
    }

    .az-doc-day-by-day details {
        margin-bottom: 7pt !important;
        padding: 7pt 8pt !important;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-day-by-day summary {
        margin-bottom: 4pt !important;
        font-size: 10.5pt !important;
        line-height: 1.25 !important;
    }

    .az-doc-feature-note {
        margin-bottom: 12pt !important;
        padding: 8pt 9pt !important;
        border-left-width: 3pt !important;
    }

    .az-doc-feature-columns {
        grid-template-columns: minmax(0, 1fr) 2.15in !important;
        gap: 15pt !important;
    }

    .az-doc-feature-list {
        margin-bottom: 11pt !important;
    }

    .az-doc-feature-side {
        padding: 8pt 9pt !important;
    }

    .az-doc-feature-note h3,
    .az-doc-feature-list h3,
    .az-doc-feature-side h3 {
        margin-bottom: 4pt !important;
        font-size: 10.5pt !important;
    }

    .az-doc-feature-note li,
    .az-doc-feature-list li,
    .az-doc-feature-side li,
    .az-doc-feature-side p,
    .az-doc-feature-list p,
    .az-doc-feature-note p {
        margin-bottom: 4pt !important;
        font-size: 8.5pt !important;
        line-height: 1.28 !important;
    }

    .az-doc-hotel-disclaimer {
        margin-bottom: 8pt !important;
        padding: 7pt 9pt !important;
        font-size: 8.5pt !important;
        line-height: 1.32 !important;
    }

    .az-doc-hotel-group {
        margin-bottom: 11pt !important;
    }

    .az-doc-hotel-group h3 {
        margin-bottom: 6pt !important;
        font-size: 11pt !important;
    }

    .az-doc-hotel-card {
        grid-template-columns: 1.25in minmax(0, 1fr) !important;
        gap: 8pt !important;
        margin-bottom: 7pt !important;
        padding: 7pt 8pt !important;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-hotel-image {
        max-width: 1.25in !important;
    }

    .az-doc-hotel-copy h4 {
        margin-bottom: 2pt !important;
        font-size: 10.5pt !important;
        line-height: 1.2 !important;
    }

    .az-doc-hotel-location {
        margin-bottom: 4pt !important;
        font-size: 8.5pt !important;
        line-height: 1.25 !important;
    }

    .az-doc-hotel-description p {
        margin-bottom: 4pt !important;
        font-size: 8.5pt !important;
        line-height: 1.3 !important;
    }

    .az-doc-policies .az-doc-content {
        padding: 8pt 9pt !important;
    }

    .az-doc-policies p,
    .az-doc-policies li {
        font-size: 9pt !important;
        line-height: 1.35 !important;
    }

    .az-doc-policies h3 {
        font-size: 11pt !important;
    }

    .az-doc-policies h4 {
        font-size: 10pt !important;
    }

    .az-doc-policies .az-doc-policy-alert-card {
        margin-top: 12pt !important;
        padding: 8pt 10pt !important;
        border-left: 3pt solid #999 !important;
        border-radius: 0 !important;
        background: #fff !important;
        break-inside: avoid-page;
        page-break-inside: avoid;
    }

    .az-doc-policies .az-doc-policy-alert-card h2,
    .az-doc-policies .az-doc-policy-alert-card h3,
    .az-doc-policies .az-doc-policy-alert-card h4 {
        margin-top: 0 !important;
        padding-bottom: 4pt !important;
        border-bottom: 0.5pt solid #ccc !important;
    }

}

