.page-hero,.blog-layout,.article-layout{width:956px;margin:26px auto}.page-hero h1,.article-shell h1{font:normal 38px/1.08 Georgia,serif;margin:8px 0}.page-hero h1 span{color:#b88429}.blog-layout{display:block}.section-block{margin-top:18px}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.product-card{min-width:0}.card-media{display:block;height:170px;overflow:hidden;border-radius:7px;position:relative;background:#f5f2ed}.card-media img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;left:8px;bottom:8px;background:#d3a239;padding:5px 7px;border-radius:3px;font-size:8px;font-weight:bold}.card-body h2{font:normal 18px/1.15 Georgia,serif;margin:10px 0 5px}.meta{font-size:10px;color:#777}.excerpt{font-size:11px;line-height:1.45}.article-layout{max-width:956px}.article-shell{max-width:700px;margin:auto}.article-shell h1{font-size:44px}.cover{width:100%;max-height:460px;object-fit:cover;border-radius:8px;margin:16px 0}.article-content{font:16px/1.7 Georgia,serif}.article-content h2{font-size:26px;margin-top:28px}.article-content img{max-width:100%;height:auto}.back{font-size:10px;color:#98681c}.empty-state{padding:28px 0}.pager{margin:24px 0}@media(max-width:800px){.page-hero,.blog-layout,.article-layout{width:auto;margin:22px 18px}.card-grid{grid-template-columns:repeat(2,1fr)}.article-shell h1{font-size:34px}}@media(max-width:480px){.card-grid{grid-template-columns:1fr}.card-media{height:220px}}

/* Keep the main visual assets inside their intended panels. */
.image-panel > img,
.pod-cover > img,
.avatar > img,
.story-image > img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.hero-copy .hero-podcast-link,
.hero-copy .hero-more-link {
    display: inline-block;
    font-size: 9px;
    padding: 12px 16px;
    border-radius: 4px;
}

.hero-copy .hero-podcast-link {
    background: linear-gradient(135deg, #b17c23, #d2a84e);
    margin-right: 10px;
}

.hero-copy .hero-more-link {
    border: 1px solid #eee;
}

.pod-cover > a {
    display: block;
    width: 100%;
    height: 100%;
}

.pod-actions a {
    font-size: 8px;
    border: 1px solid #b88631;
    border-radius: 3px;
    padding: 9px 13px;
}

.pod-exclusive {
    margin-top: 9px !important;
    color: #98681c;
    font-size: 8px !important;
}

.story-deal-grid-secondary,
.story-deal-grid + .story-deal-grid {
    margin-top: 24px;
}

.deal-story .deal-image {
    background: #f5f2ed;
}

.deal-story > a {
    display: block;
    position: relative;
}

.deal-story .deal-ad-overline,
.highlighted-deals .deal-ad-overline {
    display: block;
    margin: 0;
    color: #777;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: .5px;
}

.deal-story .deal-ad-overline {
    position: absolute;
    top: -12px;
    left: 0;
}

.deal-story .deal-byline {
    display: flex;
    align-items: baseline;
    gap: 7px;
    font-size: 9px;
}

.deal-story .deal-byline del {
    color: #888;
}

.deal-story .deal-byline strong {
    color: #9a6a19;
    font-size: 12px;
}

.deal-story .deal-byline span {
    margin-left: auto;
    color: #777;
    font-size: 7px;
    font-weight: 700;
}
.page-shell {
    display: flex;
    flex-direction: column;
}

.page-shell > .lead-grid,
.page-shell > .signup-card {
    order: 0;
}

.page-shell > .utility-grid {
    order: 1;
}

.page-shell > .stories {
    order: 2;
}

/* Split the story section around the three editorial/community panels. */
.page-shell > .stories {
    display: contents;
}

.stories > .section-title {
    order: 1;
    margin-top: 15px;
    margin-bottom: 16px;
}

.stories > .story-deal-grid:not(.story-deal-grid-secondary) {
    order: 2;
}

.page-shell > .utility-grid {
    order: 3;
}

.stories > .story-deal-grid-secondary {
    order: 4;
}

.post-deals {
    margin-top: 42px;
    padding-top: 24px;
    border-top: 1px solid #e6e1db;
}

.post-deals-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.post-deals-label {
    display: inline-block;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 1.2px;
    margin-bottom: 7px;
}

.post-deals-header h2 {
    font: normal 24px/1.1 Georgia, serif;
    margin: 0 0 7px;
}

.post-deals-header p {
    color: #666;
    font-size: 11px;
    margin: 0;
}

.post-deals-header > a {
    color: #8f621b;
    font-size: 10px;
    white-space: nowrap;
}

.post-deals-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.post-deal-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e0d9;
    border-radius: 7px;
    background: #faf8f5;
}

.post-deal-media {
    display: block;
    height: 150px;
    position: relative;
    overflow: hidden;
    background: #eee9e1;
}

.post-deal-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.post-deal-ad-label {
    display: block;
    padding: 11px 14px 5px;
    color: #777;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .8px;
}

.post-deal-body {
    padding: 13px 14px 14px;
}

.post-deal-body > small {
    color: #8f621b;
    font-size: 8px;
    font-weight: 700;
    letter-spacing: .6px;
}

.post-deal-body h3 {
    font-size: 16px;
    line-height: 1.18;
    margin: 7px 0 6px;
}

.post-deal-body p {
    color: #444;
    font-size: 10px;
    line-height: 1.45;
    margin: 0 0 10px;
}

.post-deal-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 11px;
}

.post-deal-price del {
    color: #888;
    font-size: 10px;
}

.post-deal-price strong {
    color: #98681c;
    font-size: 15px;
}

.post-deal-link {
    display: inline-block;
    padding: 8px 10px;
    border: 1px solid #b78328;
    border-radius: 3px;
    color: #30230f;
    font-size: 9px;
    font-weight: 700;
}

.post-deal-note {
    display: block;
    color: #777;
    font-size: 8px;
    margin-top: 9px;
}

@media (max-width: 560px) {
    .post-deals-header {
        display: block;
    }

    .post-deals-header > a {
        display: inline-block;
        margin-top: 10px;
    }

    .post-deals-grid {
        grid-template-columns: 1fr;
    }
}

/* Dedicated styling for the public deals catalogue. */
.page-hero {
    padding: 28px 34px 30px;
    border: 1px solid #e6e1db;
    border-radius: 9px;
    background: linear-gradient(120deg, #faf8f4, #fff);
}

.page-hero .eyebrow {
    color: #98681c;
    letter-spacing: 1.2px;
}

.page-hero > p:not(.eyebrow) {
    color: #555;
    font-size: 12px;
    margin: 10px 0 0;
}

.deal-search {
    margin-top: 22px;
}

.deal-search .search-row {
    display: flex;
    width: min(100%, 620px);
    max-width: none;
    overflow: hidden;
    border: 1px solid #ded8d0;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(30, 22, 12, .07);
}

.deal-search .search-row input {
    height: 45px;
    flex: 1;
    min-width: 0;
    padding: 0 14px;
    border: 0;
    outline: 0;
    color: #222;
    font-size: 12px;
}

.deal-search .search-row button {
    width: 48px;
    height: 45px;
    display: grid;
    place-items: center;
    border: 0;
    background: #c49338;
    color: #fff;
    cursor: pointer;
}

.deal-search .search-row button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.deal-search .clear-link {
    display: inline-block;
    margin-top: 8px;
}

.category-list {
    display: flex;
    width: 956px;
    gap: 10px;
    margin: 22px auto 28px;
    padding: 0 0 4px;
    overflow-x: auto;
}

.category-list a {
    min-width: 112px;
    min-height: 72px;
    display: inline-flex;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 10px 13px;
    border: 1px solid #e2ddd6;
    border-radius: 7px;
    background: #fff;
    color: #222;
    text-align: center;
    font-size: 10px;
    font-weight: 700;
    box-shadow: 0 3px 10px rgba(30, 22, 12, .04);
}

.category-list a.active {
    border-color: #b78328;
    background: #b78328;
    color: #fff;
}

.category-list .category-icon {
    width: 24px;
    height: 24px;
    margin-bottom: 6px;
    padding: 4px;
    color: #a36e1b;
    border: 1px solid currentColor;
    border-radius: 5px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
}

.category-list .category-mark {
    display: grid;
    place-items: center;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.category-list a.active .category-icon {
    color: #fff;
}

.category-list a span {
    margin-top: 4px;
    color: #777;
    font-size: 9px;
}

.category-list a.active span {
    color: rgba(255, 255, 255, .8);
}

.deal-category {
    width: 956px;
    margin-top: 0;
    margin-right: auto;
    margin-left: auto;
}

.deal-category .section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 14px;
}

.deal-category .section-heading h2 {
    margin: 0;
    font-size: 17px;
    letter-spacing: .4px;
}

.deal-category .section-heading a {
    color: #98681c;
    font-size: 10px;
}

.deal-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.deal-grid .deal-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5e0d9;
    border-radius: 7px;
    background: #faf8f5;
    box-shadow: 0 4px 14px rgba(30, 22, 12, .05);
}

.deal-grid .deal-card > img {
    display: block;
    width: 100%;
    height: 174px;
    object-fit: cover;
}

.deal-ad-label {
    display: block;
    padding: 11px 15px 5px;
    color: #777;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .8px;
}

.deal-grid .deal-card > p,
.deal-grid .deal-card > h3,
.deal-grid .deal-card > .price,
.deal-grid .deal-card > .deal-ad-note {
    margin-right: 15px;
    margin-left: 15px;
}

.deal-grid .deal-card > p:first-of-type {
    margin-top: 12px;
    margin-bottom: 8px;
}

.deal-grid .deal-card .badge {
    position: static;
    display: inline-flex;
    padding: 5px 7px;
    border-radius: 3px;
    background: #d3a239;
    color: #17130d;
    font-size: 8px;
}

.deal-grid .deal-card h3 {
    margin-top: 0;
    margin-bottom: 7px;
    font-size: 16px;
    line-height: 1.18;
}

.deal-grid .deal-card .meta {
    color: #777;
    font-size: 9px;
    line-height: 1.4;
}

.deal-grid .deal-card p:not(.meta):not(:first-of-type) {
    color: #444;
    font-size: 10px;
    line-height: 1.45;
}

.deal-grid .deal-card .price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 12px;
    margin-bottom: 13px;
}

.deal-grid .deal-card .price del {
    color: #888;
    font-size: 10px;
}

.deal-grid .deal-card .price span {
    color: #98681c;
    font-size: 16px;
    font-weight: 700;
}

.deal-grid .deal-card .button-link {
    display: inline-block;
    padding: 8px 10px;
    border: 1px solid #b78328;
    border-radius: 3px;
    color: #30230f;
    font-size: 9px;
    font-weight: 700;
}

.deal-grid .deal-card > p:last-of-type {
    margin-bottom: 14px;
}

.deal-ad-note {
    display: block;
    padding-bottom: 14px;
    color: #777;
    font-size: 8px;
}

@media (max-width: 800px) {
    .page-hero {
        padding: 24px 20px 25px;
    }

    .deal-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .category-list,
    .deal-category {
        width: auto;
        margin-right: 18px;
        margin-left: 18px;
    }
}

@media (max-width: 520px) {
    .deal-grid {
        grid-template-columns: 1fr;
    }

    .deal-category .section-heading {
        display: block;
    }

    .deal-category .section-heading a {
        display: inline-block;
        margin-top: 7px;
    }
}

/* CMS public shell and Trip & Treat homepage data states. */
.site-main {
    flex: 1 0 auto;
}

.content-page,
.trip-treat-home {
    width: 100%;
}

.newsletter-hp {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.signup-form .notice {
    margin: 0 0 6px;
    padding: 5px 8px;
    font-size: 8px;
}

.recommended-feature {
    display: block;
}

.recommended-feature img {
    display: block;
    width: 256px;
    height: 94px;
    object-fit: cover;
    border-radius: 4px;
}

.recommended-feature h3 {
    margin-bottom: 5px;
}

.recommended-links {
    display: flex;
    gap: 10px;
    margin-top: 8px;
    overflow: hidden;
    white-space: nowrap;
}

.recommended-links a {
    color: #98681c;
    font-size: 8px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.guides > a.guide {
    display: flex;
    width: auto;
    margin-top: 0;
    text-align: left;
    font-size: 9px;
}

.newsletter-thanks {
    width: min(620px, calc(100% - 36px));
    margin: 72px auto 90px;
    padding: 42px 48px;
    border: 1px solid #e6e1db;
    border-radius: 9px;
    background: linear-gradient(120deg, #faf8f4, #fff);
    text-align: center;
}

.newsletter-thanks h1 {
    font: normal 36px/1.1 Georgia, serif;
    margin: 0 0 14px;
}

.newsletter-thanks p:not(.back) {
    color: #555;
    font-size: 13px;
}

.newsletter-thanks .back {
    margin-top: 28px;
}

@media (max-width: 800px) {
    .recommended-feature img {
        width: 100%;
        height: auto;
        aspect-ratio: 256 / 94;
    }
}

.blog-layout .section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.blog-layout .section-heading h2 {
    margin: 0;
    font-size: 12px;
    letter-spacing: .7px;
}

.blog-layout .section-heading a {
    color: #8f621b;
    font-size: 10px;
    white-space: nowrap;
}

.visual-fallback {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 30% 20%, #d6b66d, #26221d 72%);
    color: #fff;
    font: normal 56px Georgia, serif;
}

@media (max-width: 520px) {
    .blog-layout .section-heading {
        display: block;
    }

    .blog-layout .section-heading a {
        display: inline-block;
        margin-top: 7px;
    }
}
