@charset "UTF-8";
/* CSS Document */
/* Tom Hunter Photography © */


/* ==========================================================================
           TOM HUNTER PHOTOGRAPHY - MODERN PRICING ARCHITECTURE (SANDBOXED SETUP)
           ========================================================================== */
        
            /* Scoped pricing namespace wrapper to completely bypass table overrides */
    .thp-pricing-wrapper {
        box-sizing: border-box;
        width: 100%;
        max-width: 1140px;
        margin: 0 auto;
        padding: clamp(1rem, 4vw, 3rem) clamp(1rem, 3vw, 2rem);
        font-family: 'CenturyGothic', 'Helvetica Neue', Arial, sans-serif;
        color: #444444;
    }

    .thp-pricing-wrapper *, 
    .thp-pricing-wrapper *::before, 
    .thp-pricing-wrapper *::after {
        box-sizing: border-box;
    }

    /* Fluid layout Section Headers using clamp() */
    .thp-pricing-wrapper .pricing-section-title {
        font-size: clamp(1.3rem, 3vw, 1.8rem);
        font-weight: bold;
        color: #111111;
        text-transform: uppercase;
        letter-spacing: 1px;
        border-bottom: 2px solid #9b968c;
        padding-bottom: 0.5rem;
        margin: clamp(2rem, 6vw, 4rem) 0 1.5rem 0;
        text-align: left;
    }

    /* Master CSS Grid engine handling auto-collapsing structures */
    .thp-pricing-wrapper .pricing-grid-engine {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
        gap: clamp(1.25rem, 3vw, 2rem);
        margin-bottom: 2rem;
        align-items: start;
    }

    /* Clean modern pricing cards built on box-shadow variables */
    .thp-pricing-wrapper .rate-card-layout {
        background: #ffffff;
        border: 1px solid #eeeded;
        border-top: 6px solid #9b968c;
        padding: clamp(1.5rem, 4vw, 2.25rem);
        border-radius: 6px;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04);
        display: flex;
        flex-direction: column;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .thp-pricing-wrapper .rate-card-layout:hover {
        transform: translateY(-2px);
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.07);
    }

    /* Category Brand Accents mapped out from custom stylesheets */
    .thp-pricing-wrapper .rate-card-layout.premium-tier { border-top-color: #111111; background-color: #fafafa; }
    .thp-pricing-wrapper .rate-card-layout.tour-tier { border-top-color: #026b96; }
    .thp-pricing-wrapper .rate-card-layout.video-tier { border-top-color: #e056fd; }
    .thp-pricing-wrapper .rate-card-layout.web-tier { border-top-color: #1d7572; }

    /* Typography sizing variables */
    .thp-pricing-wrapper .card-badge-tag {
        font-size: 0.7rem;
        text-transform: uppercase;
        font-weight: bold;
        letter-spacing: 2px;
        color: #888888;
        margin-bottom: 0.4rem;
    }

    .thp-pricing-wrapper .card-main-heading {
        font-size: clamp(1.25rem, 2.5vw, 1.5rem);
        font-weight: bold;
        color: #111111;
        margin: 0 0 0.5rem 0;
        text-transform: uppercase;
    }

    .thp-pricing-wrapper .card-desc-paragraph {
        font-size: 0.85rem;
        color: #666666;
        line-height: 1.5;
        margin: 0 0 1.5rem 0;
        font-style: italic;
    }

    .thp-pricing-wrapper .card-price-anchor {
        font-size: clamp(2rem, 4vw, 2.5rem);
        font-weight: bold;
        color: #111111;
        margin-bottom: 1.5rem;
        border-bottom: 1px solid #eeeded;
        padding-bottom: 1rem;
        display: flex;
        align-items: baseline;
        gap: 0.35rem;
    }

    .thp-pricing-wrapper .card-price-anchor span {
        font-size: 0.85rem;
        font-weight: normal;
        color: #777777;
        text-transform: lowercase;
    }

    /* List Matrix Rules avoiding browser standard spacing bugs */
    .thp-pricing-wrapper .card-matrix-list {
        list-style: none;
        padding: 0;
        margin: 0 0 1.5rem 0;
        flex-grow: 1;
    }

    .thp-pricing-wrapper .card-matrix-list li {
        font-size: 0.9rem;
        padding: 0.6rem 0;
        border-bottom: 1px dashed #eeeded;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
    }

    .thp-pricing-wrapper .card-matrix-list li:last-child {
        border-bottom: none;
    }

    .thp-pricing-wrapper .card-matrix-list li span {
        color: #555555;
    }

    .thp-pricing-wrapper .card-matrix-list li strong {
        color: #111111;
        font-weight: bold;
    }

    /* Premium Enhancements Sub-Block */
    .thp-pricing-wrapper .studio-work-panel {
        background: #ffffff;
        border: 1px solid #eeeded;
        padding: 1.1rem;
        margin-top: 1rem;
        border-radius: 4px;
    }

    .thp-pricing-wrapper .studio-panel-title {
        font-size: 0.75rem;
        font-weight: bold;
        text-transform: uppercase;
        margin-bottom: 0.6rem;
        color: #111111;
        letter-spacing: 0.5px;
    }

    .thp-pricing-wrapper .studio-bullet-tree {
        margin: 0;
        padding-left: 1.2rem;
        font-size: 0.8rem;
        color: #555555;
        line-height: 1.5;
    }

    .thp-pricing-wrapper .studio-bullet-tree li {
        margin-bottom: 0.35rem;
    }
    
    .thp-pricing-wrapper .studio-bullet-tree li:last-child {
        margin-bottom: 0;
    }

    /* Fine Print / Policy Grid Mechanics */
    .thp-pricing-wrapper .policy-block-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        gap: 2rem;
        margin-top: 1.5rem;
    }

    .thp-pricing-wrapper .policy-card-node h4 {
        font-size: 1rem;
        font-weight: bold;
        text-transform: uppercase;
        margin: 0 0 0.6rem 0;
        color: #111111;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .thp-pricing-wrapper .policy-card-node p {
        font-size: 0.85rem;
        line-height: 1.6;
        color: #555555;
        margin: 0;
        text-align: justify;
    }

    /* Bottom Inline Photo Stream Layout */
    .thp-gallery-stream {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
        gap: 15px;
        margin: 4rem 0 2rem 0;
    }
    .thp-gallery-stream img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 4px;
        box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    }