/* House of T-Classique front page — responsive layout */
html,
body.tcfp-canvas {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: none !important;
}
body.tcfp-canvas {
    min-height: 100vh;
    background: #fff !important;
    color: #111;
    overflow-x: hidden !important;
}
.tcfp-canvas .tcfp-main,
html body .tcfp-front {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.tcfp-front,
.tcfp-front * {
    box-sizing: border-box !important;
}
html body .tcfp-front {
    container-type: inline-size;
    background: #fff;
    color: #111;
    overflow-x: hidden !important;
}
html body .tcfp-front .tcfp-masthead {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 74px;
    margin: 0 !important;
    padding: 16px 20px !important;
    background: #fff !important;
    text-align: center !important;
}
html body .tcfp-front .tcfp-wordmark {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #111 !important;
    font-family: Didot, "Bodoni MT", "Times New Roman", serif !important;
    font-size: clamp(24px, 2.1vw, 36px) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    letter-spacing: .18em !important;
    text-indent: .18em !important;
    text-transform: uppercase !important;
    text-shadow: none !important;
}

/* Desktop: exactly two equal columns. Grid avoids flex rules injected by themes/builders. */
html body .tcfp-front .tcfp-collections {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    gap: clamp(4px, .7vw, 10px) !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    float: none !important;
    clear: both !important;
}
html body .tcfp-front .tcfp-column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
html body .tcfp-front .tcfp-column > p {
    margin: 0 !important;
    padding: 0 !important;
}
html body .tcfp-front a.tcfp-card {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #41372c !important;
    color: #fff !important;
    text-decoration: none !important;
    box-shadow: none !important;
    line-height: 0 !important;
    float: none !important;
    transition: filter .2s ease;
    -webkit-tap-highlight-color: rgba(191, 154, 100, .3);
}
html body .tcfp-front a.tcfp-card img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Align the baked-in collection titles and ENTER buttons on desktop.
   The source artwork places the two text groups at different heights, so
   each image gets a small opposing vertical composition adjustment. */
html body .tcfp-front:not(.tcfp-is-stacked) .tcfp-card--bridal img {
    transform: translateY(-3.8%) scale(1.11);
    transform-origin: center center;
}
html body .tcfp-front:not(.tcfp-is-stacked) .tcfp-card--couture img {
    transform: translateY(4.6%) scale(1.11);
    transform-origin: center center;
}

html body .tcfp-front a.tcfp-card:focus {
    outline: 3px solid #fff !important;
    outline-offset: -7px;
    box-shadow: inset 0 0 0 10px #1a1a1a !important;
}
html body .tcfp-front a.tcfp-card:focus::after {
    content: "";
    position: absolute;
    inset: 3px;
    border: 2px solid #1a1a1a;
    pointer-events: none;
}
@media (hover: hover) {
    html body .tcfp-front a.tcfp-card:hover { filter: brightness(1.035); }
}

/* Mobile/tablet fallback: stack the two front images vertically. */
@media screen and (max-width: 767px) {
    html body .tcfp-front .tcfp-masthead {
        min-height: 64px !important;
        padding: 16px !important;
    }
    html body .tcfp-front .tcfp-wordmark {
        font-size: 25px !important;
        letter-spacing: .14em !important;
        text-indent: .14em !important;
    }
    html body .tcfp-front .tcfp-collections {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        gap: 4px !important;
    }
    html body .tcfp-front .tcfp-column,
    html body .tcfp-front a.tcfp-card,
    html body .tcfp-front a.tcfp-card img {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    html body .tcfp-front .tcfp-card--bridal img,
    html body .tcfp-front .tcfp-card--couture img {
        transform: none !important;
    }
}

/* Container-query backup for builders that render the shortcode in a narrow column. */
@container (max-width: 767px) {
    .tcfp-collections {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        gap: 4px !important;
    }
    .tcfp-card--bridal img,
    .tcfp-card--couture img {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body .tcfp-front a.tcfp-card { transition: none !important; }
}
.tcfp-skip-link {
    position: absolute;
    z-index: 100000;
    top: 12px;
    left: 12px;
    padding: 12px 18px;
    transform: translateY(-200%);
    background: #fff;
    color: #111;
    font: 16px/1.2 sans-serif;
}
.tcfp-skip-link:focus { transform: translateY(0); }

/* SEO/accessibility semantics added in 1.6.0 without changing the visual layout. */
.tcfp-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
html body .tcfp-front a.tcfp-card picture {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Black November promotion banner */
html body .tcfp-front a.tcfp-promotion-banner {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    background: #171615 !important;
    text-decoration: none !important;
    -webkit-tap-highlight-color: rgba(191, 154, 100, .3);
}
html body .tcfp-front a.tcfp-promotion-banner img {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
html body .tcfp-front a.tcfp-promotion-banner:focus {
    outline: 3px solid #b99b73 !important;
    outline-offset: -5px;
}

