.toc_header {
    text-transform: uppercase;
    margin-bottom: 15px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    color: #000000;
    display: block;
}

.toc_divider {
    border-top: 1px solid #CCCCCC;
    margin: 15px 0;
}

.toc-group {
    padding-left: 20px;
}

.toc-elements {
    margin: 11px 0;
    font-size: 15px;
    font-weight: 400;
    text-decoration: underline;
}

.toc-elements:first-child {
    margin-top: 0;
}

/* Hero banner image for desktop and mobile */

.hero-banner-img {
    /* Hero banner for desktop */

    content: url("images/PeopleAlsoAsked/wide-leg-pants/herobanner-placeholder.png?$staticlink$");
}

@media screen and (max-width: 767px) {
    /* Hero banner for mobile */

    .hero-banner-img {
        content: url("images/PeopleAlsoAsked/wide-leg-pants/hero-banner-small.png?$staticlink$");
    }

    .mobile-view {
        display: block !important;
    }
}

.mobile-toc-divider {
    display: none;
}

.guides-content {
    margin-top: 20px;
}

.content-page-text {
    font-size: 15px;
    font-weight: 400;
    width: 100%;
}

.guides-page-description {
    margin-bottom: 30px;
}

.content-step {
    /* max-width: 743px; */
    margin: 20px 0 30px 0;
}

.light-content-divider {
    border-top: 1px solid #CCCCCC;
}

.content-col-desc-container {
    /* max-width: 372px; */

    padding-left: 5px;
}

.mobile-view {
    display: none;
}

.step-content-list {
    padding-left: 20px;

    font-size: 15px;

    margin: 20px 0;
}

.content-header {
    margin-top: 30px;

    font-size: 15px;
}

.guides-content-accordion {
    font-size: 15px;
}

.guides-accordion .accordion-padding {
    padding: 10px 0;
}

.guides-accordion .accordion-content {
    border: 0 !important;
}

.toc-elements a {
    color: #333333;
}

.content-step-spacing {
    margin-bottom: 20px;
}

.questions-section {
    margin-bottom: 10px;
}

.back-to-top-btn {
    text-decoration: underline;

    font-size: 15px;
}

.content-last {
    margin-bottom: 0;
}

.back-to-top-section {
    margin-top: 30px;
}

.accordion-body .content-page-text {
    margin: 0 !important;
}

.content-step-heading {
    font-size: 18px;
}

/* .guides-main-page a {
   text-decoration: underline;
    } */


@media screen and (min-width: 992px) {
    .guides-page-content {
        padding-left: 10px;
    }

    .table-of-contents {
        padding-right: 10px;

        max-width: 253px;
    }

    .underlined-text {
        text-decoration: underline;
    }

    .img-col-container {
        max-width: 382px;
    }

    .toc_section {
        position: sticky;
        top: 110px;
    }
}

@media screen and (max-width: 992px) {
    .toc_header {
        margin: 0;
    }

    .toc_divider {
        margin: 10px 0;
    }

    .toc-group {
        margin-bottom: 0 !important;
    }

    /* .toc-elements {
  padding: 5px 0;
   } */

    .header-name {
        text-transform: capitalize;
    }

    .mobile-toc-divider {
        display: block;

        margin: 10px 0;
    }

    .guides-content {
        margin-top: 4px;
    }
}

@media screen and (max-width: 375px) {
    .hero-banner-container-img {
        position: relative;

        left: 50%;

        right: 50%;

        margin-left: -50vw;

        margin-right: -50vw;

        max-width: 100vw;

        width: 100vw;

        margin-bottom: 20px;
    }
}

@media screen and (max-width: 1200px) {
    .content-col-desc-container {
        flex: 0 0 100%;

        max-width: 100%;

        padding: 0 15px;
    }
}

@media screen and (min-width: 768px) {
    .content-desc-container {
        margin-top: 20px;
    }
}

@media screen and (max-width: 768px) {
    .guides-content-accordion {
        margin: 0 0 10px 0;
    }

    .back-to-top-section {
        display: none;
    }
}

@media screen and (min-width: 1280px) {
    .guides-page-layout {
        min-width: 972px;
    }
}

@media (min-width: 1024px) {
    .col-lg-9 {
        max-width: 75% !important;
    }
}

h2.content-step-heading,
h2.content-header {
    font-size: 20px;
    text-transform: uppercase;
}

h3.content-step-heading,
h3.content-header {
    font-size: 18px;
    margin-top: 30px;
}

h4.content-step-heading,
h4.content-header {
    font-size: 16px;
    margin-bottom: 5px;
    width: 100%;

}

@media screen and (max-width: 768px) {

    h4.content-step-heading,
    h4.content-header {
        margin-bottom: 20px;
    }
}

@media only screen and (min-width: 767.98px) {
    .container.breadcrumb-container {
        margin-left: 20px;
    }
}

.guides-main-page {
    margin: 0 20px;
}

.step-content div.row {
    margin: 1.5rem 0;
}

.guides-page-description .img-col-container {
    padding-left: 15px !important;
    margin-bottom: 20px;
}

/* set min width & height to prevent layout shifting on page load */
/* for images spanning 4 columns on desktop -  */
.col-lg-4.col-md-6.col-sm-10.img-col-container {
    min-width: 190px;
    min-height: 260px;
    padding-left: 0;
}

.guide_link {
    text-decoration: underline !important;
    color: #000 !important;
}

figcaption {
    text-align: center;
    padding: 0 20px;
    font-style: italic;
}

.content-img-row .three-images {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    padding: 0;
}

@media only screen and (max-width: 768px) {
    .content-img-row .three-images {
        gap: 10px;
    }
}


/* Two-image rows: tighten the gap between the pair (10px + 10px = 20px) */
.content-img-row>.img-col-container.pl-0 {
    padding-right: 10px;
}

.content-img-row>.img-col-container.pr-0 {
    padding-left: 10px;
}

@media only screen and (max-width: 768px) {
    .content-img-row>.img-col-container.pl-0 {
        padding-right: 5px;
    }

    .content-img-row>.img-col-container.pr-0 {
        padding-left: 5px;
    }
}


/* Tip box */

.tip-container {
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 20px 30px;

}

.tip-content {
    font-size: 15px;
    border-left: 10px solid #CCCCCC;
    margin-bottom: 0;
    padding-left: 20px;
}

.tip-content h4 {

    text-transform: uppercase;
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 10px;
}

.tip-content p {
    font-size: 15px;
}

.tip-content .content-page-text:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
    .tip-container {
        padding: 20px;

    }
}

.four-images {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    padding: 0;
    /* 4 columns on desktop */
}

@media (max-width: 768px) {

    /* Adjust the max-width based on your needs */
    .four-images {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        /* 2 columns on mobile */
    }
}




/* Product Carousel */
.dynamic-product-carousel .product_tile-link {
    text-decoration: unset;
}

.product_tile-attributes_value .swatch-rectangle {
    min-width: 45px;
    font-size: .9375rem;
}

@media screen and (max-width: 767px) {
    .dynamic-product-carousel .product_tile-link {
        font-size: 16px;
    }
}

.dynamic-product-carousel {
    margin-bottom: 20px;
    position: relative;
}

.content_asset-dynamic_product_carousel_category_tile {
    display: inline;
}

.carousel-heading {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
}

.carousel-content {
    position: relative;
    margin-top: 60px;
}

.carousel-category {
    border: 1px solid #ccc;
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
}

.carousel-category .heading-title {
    font-size: 18px;
    font-weight: 400;
    text-transform: capitalize;
}

.recommendations_wide-controls {
    top: -45px;
}

.content-step-heading {
    margin-bottom: 15px;
}

.skeleton_block {
    width: 100%;
    height: 100%;
}

@keyframes shine-loading {
    0% {
        background-position: 200% 0;
    }

    100% {
        background-position: -200% 0;
    }
}

.skeleton_loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f0f0f0;
    background-image: linear-gradient(90deg, #f0f0f0, #e8e8e8 40px, #f0f0f0 80px);
    background-size: 200% 100%;
    animation: shine-loading 2s ease-out infinite;
    min-height: 370px;
}

.custom-box1 {
    min-height: 370px;
}

.dynamic-product-carousel .product_tile-link {
    text-decoration: unset;
}

.product_tile-attributes_value .swatch-rectangle {
    min-width: 45px;
    font-size: .9375rem;
}

@media screen and (max-width: 767px) {
    .carousel-content {
        margin-top: 50px;
    }

    .skeleton_loader {
        min-height: 310px;
    }

    .custom-box1 {
        min-height: 300px !important;
    }

    .dynamic-product-carousel .product_tile-link {
        font-size: 16px;
    }
}

@media (min-width: 768px) {
    .recommendations_wide-controls {
        right: 0px;
    }
}

/* Table */
.step-content-table {
    overflow-x: scroll;
}

.step-content-table thead {
    background-color: #000;
}

.step-content-table thead th {
    width: calc(100% / var(--col-count, 3));
    text-align: center;
    font-size: 15px;
    color: #fff;
    vertical-align: middle;
}

.step-content-table tbody td {
    font-size: 15px;
}

/* table rows are converted to card view on mobile */
@media only screen and (max-width: 767px) {

    td:first-child p.content-page-text,
    td p.content-page-text:last-child {
        margin-bottom: 0;
    }

    .step-content-table table,
    .step-content-table thead,
    .step-content-table tbody,
    .step-content-table th,
    .step-content-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: none;
    }

    .step-content-table table {
        width: 100% !important;
    }

    /* Reflow all table elements to block */
    .step-content-table table,
    .step-content-table thead,
    .step-content-table tbody,
    .step-content-table tr,
    .step-content-table th,
    .step-content-table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
        border: none !important;
    }

    /* Hide original header row */
    .step-content-table thead tr {
        display: none;
    }

    /* Each row = card */
    .step-content-table tbody tr {
        border: 1px solid #ccc !important;
        border-radius: 4px;
        margin-bottom: 16px;
        overflow: hidden;
    }

    /* First <td>: strip all default styling, let child <p> tags control everything */
    .step-content-table tbody td:nth-child(1) {
        padding: 0 !important;
        background: none !important;
        color: inherit !important;
        text-transform: none !important;
    }

    /* First <p> in first <td> = black header band, full width, inherited font size */
    .step-content-table tbody td:nth-child(1) p:first-child {
        display: block;
        width: 100%;
        background-color: #000;
        color: #fff;
        padding: 8px 12px;
        margin: 0;
        box-sizing: border-box;
        text-transform: none;
        /* only <strong> inside gets uppercase, not surrounding text */
    }

    /* Only the <strong> label gets uppercase — plain text siblings stay as-is */
    .step-content-table tbody td:nth-child(1) p:first-child strong {
        display: inline;
        text-transform: uppercase;
        font-weight: 700;
    }

    /* All remaining <p> tags = one seamless grey block, full width, no font size change */
    .step-content-table tbody td:nth-child(1) p+p {
        display: block;
        width: 100%;
        background-color: #f2f2f2;
        color: #333 !important;
        padding: 8px 12px;
        margin: 0;
        box-sizing: border-box;
        text-transform: none !important;
        border: none !important;
        margin-top: 0 !important;
    }

    /* Column label from <th> via data-label (set by JS) */
    .step-content-table tbody td:nth-child(n+2)::before {
        content: attr(data-label);
        display: block;
        font-weight: 700;
        font-size: 12px;
        text-transform: uppercase;
        color: #888;
        margin-bottom: 4px;
    }

    /* Data cells: left-aligned, consistent padding */
    .step-content-table tbody td:nth-child(n+2) {
        padding: 12px;
        border-top: 1px solid #eee !important;
        line-height: 1.5;
        text-align: left !important;
    }

    /* Fix text-center on inner <p> tags inside data cells */
    .step-content-table tbody td:nth-child(n+2) p {
        text-align: left !important;
        margin: 0 0 4px 0;
    }
}




/* Guides Curved Boxes 
    
    (Similar to VIEW MORE ARTICLES section but manually coded) */
.guide_curved_boxes .card-text,
.guide_curved_boxes .guides-bottom_nav {
    font-size: 15px;
}

.guide_curved_boxes .guide_curved_boxes-container {
    display: flex;
    gap: 10px;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 20px;
}

.guide_curved_boxes .guide_curved_boxes-card {
    border: 1px solid #ccc;
    max-width: 414px;
    border-radius: 5px;
    margin-bottom: 0;
    width: calc((100% / 3) - 10px);
}

.guide_curved_boxes .guides_curved_boxes-text {
    padding: 20px;
}


.guide_curved_boxes .guides_listing-item_title {
    margin-bottom: 10px;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 600;
}

.guide_curved_boxes .guides_listing-item_body {
    padding: 0;
}

.guide_curved_boxes .guides_listing-item_description {
    margin-bottom: 10px;
}

.guide_curved_boxes .guide_curved_boxes-cta {
    margin-bottom: 0;
}

@media only screen and (max-width: 1279px) {
    .guide_curved_boxes .guide_curved_boxes-container {
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        margin-top: 20px;
    }

    .guide_curved_boxes .guide_curved_boxes-card {
        width: 100%;
    }
}





/* SHOP BY CATEGORIES */
.guide_categories-container {
    display: flex;
    flex-direction: row;
    width: 100%;
}

h3.guide_categories-header {
    text-transform: capitalize;
}

.guide_categories-card {
    width: 25%;
    margin-right: 3px;
    text-align: center;
}

.guide_categories-card a:hover {
    text-decoration: none !important;
}


.guide_categories-card:last-of-type {
    margin-right: 0;
}

.guide_categories-title {
    font-size: 15px;
    font-weight: 600;

    margin-top: 10px;
    margin-bottom: 5px;
}

.guide_categories-cta {
    text-transform: none;
    text-decoration: underline;
    font-size: 15px;
}

@media only screen and (max-width: 1279px) {
    .guide_categories-container {
        flex-wrap: wrap;
    }

    .guide_categories-card {
        width: calc(50% - 5px);
        margin-right: 5px;
    }

    .guide_categories-card:nth-child(2) {
        margin-right: 0;
    }
}