
.mcpr-wrap{
    --mcpr-black:#111;
    --mcpr-gray:#595959;
    --mcpr-line:#dedede;
    --mcpr-bg:#f6f6f4;
    --mcpr-white:#fff;
    max-width:920px;
    margin:40px auto;
    padding:0 18px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:#111 !important;
}
.mcpr-card{
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:18px;
    box-shadow:0 14px 40px rgba(0,0,0,.07);
    padding:42px;
}
.mcpr-heading{margin-bottom:30px}
.mcpr-kicker{
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
    margin-bottom:10px;
    color:#111 !important;
}
.mcpr-heading h2{
    margin:0 0 10px;
    font-size:36px;
    line-height:1.1;
    letter-spacing:.09em;
    color:#111 !important;
}
.mcpr-heading p{margin:0;color:#595959 !important;font-size:16px;line-height:1.65}
.mcpr-section-title{font-size:15px;font-weight:800;margin:0 0 10px;color:#111 !important}
.mcpr-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.mcpr-choice-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-bottom:26px;
}
.mcpr-choice{
    display:flex !important;
    gap:11px;
    align-items:flex-start;
    border:1px solid #d8d8d8;
    border-radius:12px;
    padding:15px;
    cursor:pointer;
    margin:0 !important;
    background:#fff;
    color:#111 !important;
}
.mcpr-choice input{margin-top:3px}
.mcpr-choice span{margin:0 !important;color:#111 !important}
.mcpr-choice strong{display:block;color:#111 !important;margin-bottom:3px}
.mcpr-choice small{display:block;color:#666 !important;font-weight:400;line-height:1.4}
.mcpr-form label{display:block;margin-bottom:20px;color:#111 !important}
.mcpr-form label>span{
    display:block;
    font-size:14px;
    font-weight:700;
    margin-bottom:7px;
    color:#111 !important;
}
.mcpr-form input[type=text],
.mcpr-form input[type=email],
.mcpr-form input[type=tel],
.mcpr-form input[type=date],
.mcpr-form input[type=time],
.mcpr-form input[type=number],
.mcpr-form input[type=url],
.mcpr-form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cfcfcf;
    border-radius:10px;
    padding:12px 13px;
    background:#fff;
    color:#111 !important;
    font:inherit;
    outline:none;
}
.mcpr-form input:focus,
.mcpr-form textarea:focus{
    border-color:#111;
    box-shadow:0 0 0 2px rgba(0,0,0,.07);
}
.mcpr-form input::placeholder,
.mcpr-form textarea::placeholder{color:#777 !important;opacity:1}
.mcpr-agreement{
    background:#f6f6f4;
    border:1px solid #dedede;
    border-radius:12px;
    padding:22px;
    margin:8px 0 24px;
    color:#111 !important;
}
.mcpr-agreement h3{margin:0 0 10px;font-size:18px;color:#111 !important}
.mcpr-agreement p,
.mcpr-agreement-copy{font-size:13px;line-height:1.65;color:#333 !important;margin:0 0 18px}
.mcpr-checkbox{
    display:flex!important;
    gap:10px;
    align-items:flex-start;
    margin:0 0 20px!important;
    color:#111 !important;
}
.mcpr-checkbox input{margin-top:3px}
.mcpr-checkbox span{font-size:13px!important;margin:0!important;color:#111 !important}
.mcpr-submit{
    width:100%;
    display:inline-block;
    box-sizing:border-box;
    border:0;
    border-radius:10px;
    padding:15px 18px;
    background:#111;
    color:#fff !important;
    text-decoration:none !important;
    text-align:center;
    font-size:16px;
    font-weight:800;
    cursor:pointer;
}
.mcpr-submit:hover{opacity:.88;color:#fff !important}
.mcpr-notice{
    border-radius:10px;
    padding:13px 15px;
    margin-bottom:22px;
    font-weight:700;
    color:#111 !important;
}
.mcpr-success{background:#edf8ee;border:1px solid #b8ddb9}
.mcpr-error{background:#fff2f2;border:1px solid #e3bcbc}
.mcpr-summary{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:0 0 24px;
}
.mcpr-summary>div{
    padding:14px;
    border:1px solid #e2e2e2;
    border-radius:10px;
    background:#fafafa;
}
.mcpr-summary span{display:block;font-size:12px;color:#666 !important;margin-bottom:4px}
.mcpr-summary strong{display:block;color:#111 !important}
.mcpr-detail-block{margin:0 0 22px}
.mcpr-detail-block h3{margin:0 0 6px;color:#111 !important}
.mcpr-detail-block p{margin:0;color:#333 !important;line-height:1.6}
.mcpr-record,
.mcpr-payment,
.mcpr-delivery{
    border:1px solid #ddd;
    border-radius:12px;
    padding:18px;
    margin:18px 0;
    color:#111 !important;
}
.mcpr-payment h3,.mcpr-delivery h3{margin-top:0;color:#111 !important}
.mcpr-payment p,.mcpr-delivery p,.mcpr-record{color:#333 !important}
.mcpr-paid{background:#f5faf5}
.mcpr-link-button{max-width:360px}

/* Aggressive theme override: the form itself never inherits red brand text. */
.mcpr-wrap h1,
.mcpr-wrap h2,
.mcpr-wrap h3,
.mcpr-wrap h4,
.mcpr-wrap label,
.mcpr-wrap label span,
.mcpr-wrap strong,
.mcpr-wrap .mcpr-kicker,
.mcpr-wrap .mcpr-section-title{
    color:#111 !important;
}

@media(max-width:680px){
    .mcpr-card{padding:26px 20px;border-radius:14px}
    .mcpr-grid,.mcpr-choice-grid,.mcpr-summary{grid-template-columns:1fr;gap:0}
    .mcpr-choice-grid{gap:10px}
    .mcpr-heading h2{font-size:30px;letter-spacing:.05em}
}


/* v1.1.3 — block theme accent colors from creating red trim around the request UI */
.mcpr-wrap {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.mcpr-card {
    border: 1px solid #e6e6e6 !important;
    outline: 0 !important;
}

.mcpr-wrap::before,
.mcpr-wrap::after,
.mcpr-card::before,
.mcpr-card::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: transparent !important;
}

.mcpr-choice {
    border-color: #111 !important;
}

.mcpr-form input[type=text],
.mcpr-form input[type=email],
.mcpr-form input[type=tel],
.mcpr-form input[type=date],
.mcpr-form input[type=time],
.mcpr-form input[type=number],
.mcpr-form input[type=url],
.mcpr-form textarea {
    border-color: #cfcfcf !important;
}

.mcpr-form input:focus,
.mcpr-form textarea:focus {
    border-color: #111 !important;
    outline: none !important;
}

.mcpr-agreement,
.mcpr-panel,
.mcpr-payment,
.mcpr-delivery,
.mcpr-record {
    border-color: #dedede !important;
}


/* v1.2.0 — private client gallery */
.mcpr-gallery-card{max-width:1100px}
.mcpr-gallery-intro{color:#444!important;line-height:1.65;margin-bottom:10px}
.mcpr-gallery-expiry{color:#555!important;font-size:13px;margin-bottom:24px}
.mcpr-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
    margin:20px 0 26px;
}
.mcpr-gallery-item{
    margin:0!important;
    border:1px solid #dedede!important;
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    color:#111!important;
}
.mcpr-gallery-image-wrap{
    aspect-ratio:4/3;
    background:#f2f2f2;
    overflow:hidden;
}
.mcpr-gallery-image-wrap img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.mcpr-gallery-item-meta{
    display:flex;
    gap:10px;
    align-items:flex-start;
    padding:12px;
}
.mcpr-gallery-item-meta input{
    width:auto!important;
    margin:3px 0 0!important;
}
.mcpr-gallery-item-meta span{display:block;color:#111!important}
.mcpr-gallery-item-meta strong{display:block;color:#111!important}
.mcpr-gallery-item-meta small{display:block;color:#666!important;margin-top:3px;line-height:1.35}
.mcpr-gallery-checkout-bar{
    position:sticky;
    bottom:10px;
    z-index:5;
    display:flex;
    justify-content:space-between;
    gap:20px;
    border:1px solid #d8d8d8!important;
    border-radius:12px;
    background:#fff;
    padding:14px 18px;
    margin:0 0 22px;
}
.mcpr-gallery-checkout-bar div{min-width:120px}
.mcpr-gallery-checkout-bar span{display:block;font-size:12px;color:#666!important}
.mcpr-gallery-checkout-bar strong{display:block;font-size:20px;color:#111!important}
.mcpr-gallery-download-meta{padding:12px}
.mcpr-gallery-download-meta strong{display:block;margin-bottom:10px}
.mcpr-gallery-download-button{font-size:14px;padding:11px 12px}
.mcpr-gallery-download-grid .mcpr-gallery-item{display:block}
@media(max-width:800px){
    .mcpr-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
    .mcpr-gallery-grid{grid-template-columns:1fr}
    .mcpr-gallery-checkout-bar{position:static}
}


/* v1.3.0 — gallery workflow */
.mcpr-gallery-card .mcpr-heading h2{
    letter-spacing:.04em;
}
#mcpr-gallery-qr svg{
    display:block;
    width:220px;
    max-width:100%;
    height:auto;
    border:1px solid #dedede;
    background:#fff;
}


/* v1.3.3 — gallery image edit/remove controls */
.mcpr-admin-gallery-tile{
    width:150px;
    border:1px solid #dcdcde;
    background:#fff;
    border-radius:8px;
    padding:8px;
}
.mcpr-admin-gallery-tile img{
    display:block;
    width:100%;
    height:105px;
    object-fit:cover;
    border-radius:6px;
    margin-bottom:6px;
}
.mcpr-admin-gallery-tile small{
    display:block;
    margin-bottom:7px;
    color:#50575e;
}
.mcpr-admin-gallery-actions{
    display:flex;
    flex-direction:column;
    gap:5px;
}
.mcpr-admin-gallery-actions .button{
    width:100%;
    text-align:center;
}
.mcpr-admin-gallery-actions .mcpr-remove-gallery-image{
    color:#b32d2e;
    border-color:#b32d2e;
}


/* v1.4.1 — modern contact-sheet client gallery */
.mcpr-gallery-card{
    max-width:1240px!important;
}

.mcpr-gallery-card .mcpr-heading{
    margin-bottom:18px;
}

.mcpr-gallery-card .mcpr-heading h2{
    font-size:32px;
    letter-spacing:.025em;
    margin-bottom:6px;
}

.mcpr-gallery-intro{
    max-width:820px;
    margin-bottom:20px!important;
}

/* Dense, even contact-sheet grid */
.mcpr-gallery-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:10px!important;
    margin:18px 0 22px!important;
}

.mcpr-gallery-item{
    position:relative;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d8dadd!important;
    border-radius:8px!important;
    overflow:hidden;
    background:#f9f9f8!important;
    cursor:pointer;
    transition:border-color .12s ease, box-shadow .12s ease, transform .12s ease;
}

.mcpr-gallery-item:hover{
    border-color:#8e949a!important;
    box-shadow:0 2px 8px rgba(0,0,0,.06);
}

.mcpr-gallery-item.is-selected{
    border:2px solid #111!important;
    box-shadow:0 0 0 1px #111 inset!important;
}

.mcpr-gallery-image-wrap{
    position:relative;
    aspect-ratio:3/2!important;
    background:#eceeed!important;
    overflow:hidden;
}

.mcpr-gallery-image-wrap img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    filter:none!important;
}

.mcpr-contact-index{
    position:absolute;
    left:7px;
    bottom:7px;
    padding:3px 5px;
    border-radius:4px;
    background:rgba(0,0,0,.72);
    color:#fff!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.05em;
    font-variant-numeric:tabular-nums;
}

.mcpr-contact-check{
    position:absolute;
    top:7px;
    right:7px;
    width:24px;
    height:24px;
    display:grid!important;
    place-items:center;
    border-radius:50%;
    background:#111;
    color:#fff!important;
    font-size:13px!important;
    font-weight:800;
    opacity:0;
    transform:scale(.86);
    transition:opacity .12s ease, transform .12s ease;
}

.mcpr-gallery-item.is-selected .mcpr-contact-check{
    opacity:1;
    transform:scale(1);
}

.mcpr-gallery-item-meta{
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    padding:8px 9px 9px!important;
    min-height:54px;
    border-top:1px solid #e4e6e7;
    background:#fff;
}

.mcpr-gallery-item-meta .mcpr-gallery-checkbox{
    width:16px!important;
    min-width:16px!important;
    height:16px!important;
    margin:1px 0 0!important;
}

.mcpr-contact-copy{
    display:block!important;
    min-width:0;
    flex:1;
}

.mcpr-contact-copy strong{
    display:block!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:700!important;
    color:#111!important;
}

.mcpr-contact-copy small{
    display:block!important;
    margin-top:2px!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px!important;
    line-height:1.25!important;
    color:#777!important;
}

.mcpr-contact-copy .mcpr-contact-price{
    color:#222!important;
    font-weight:700!important;
    margin-top:4px!important;
}

/* Floating contact-sheet totals bar */
.mcpr-gallery-checkout-bar{
    position:sticky!important;
    bottom:12px!important;
    z-index:8!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:34px!important;
    width:max-content;
    max-width:100%;
    margin:0 auto 22px!important;
    padding:10px 16px!important;
    border:1px solid #cfd3d6!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.96)!important;
    box-shadow:0 6px 18px rgba(0,0,0,.09)!important;
    backdrop-filter:blur(8px);
}

.mcpr-gallery-checkout-bar div{
    min-width:74px!important;
}

.mcpr-gallery-checkout-bar span{
    font-size:10px!important;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:#747b81!important;
}

.mcpr-gallery-checkout-bar strong{
    font-size:17px!important;
    line-height:1.15!important;
}

/* Agreement and purchase action stay visually secondary to the images */
.mcpr-gallery-card .mcpr-agreement{
    margin-top:12px!important;
    border-radius:10px!important;
}

.mcpr-gallery-card .mcpr-submit{
    border-radius:8px!important;
}

/* Paid contact sheet remains dense */
.mcpr-gallery-download-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

@media(max-width:1050px){
    .mcpr-gallery-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}

@media(max-width:800px){
    .mcpr-gallery-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }
}

@media(max-width:600px){
    .mcpr-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }

    .mcpr-gallery-card{
        padding:20px 14px!important;
    }

    .mcpr-gallery-checkout-bar{
        bottom:8px!important;
        width:100%;
        justify-content:space-between!important;
        border-radius:10px!important;
    }

    .mcpr-gallery-download-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}


/* v1.5.0 — watermarked client popup slideshow */
.mcpr-gallery-viewbar{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin:10px 0 18px;
    padding:10px 12px;
    border:1px solid #d9dcdf;
    border-radius:9px;
    background:#f7f8f8;
}
.mcpr-gallery-viewbar span{
    font-size:11px!important;
    color:#687078!important;
}
.mcpr-gallery-view-button{
    border:0!important;
    border-radius:7px!important;
    background:#111!important;
    color:#fff!important;
    padding:9px 14px!important;
    font-size:12px!important;
    font-weight:700!important;
    cursor:pointer;
}
.mcpr-gallery-image-wrap.mcpr-lightbox-open{
    display:block;
    width:100%;
    padding:0;
    margin:0;
    border:0!important;
    border-radius:0!important;
    cursor:zoom-in;
    text-align:inherit;
}
.mcpr-contact-view{
    position:absolute;
    z-index:5;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    padding:5px 8px;
    border-radius:5px;
    background:rgba(0,0,0,.68);
    color:#fff!important;
    font-size:9px!important;
    font-weight:800!important;
    letter-spacing:.09em;
    opacity:0;
    transition:opacity .12s ease;
}
.mcpr-gallery-image-wrap:hover .mcpr-contact-view{opacity:1}

.mcpr-gallery-watermark{
    position:absolute;
    z-index:4;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(-12deg);
    width:88%;
    pointer-events:none;
    user-select:none;
    color:#fff!important;
    text-align:center;
    font-size:15px!important;
    font-weight:800!important;
    letter-spacing:.12em;
    line-height:1.15!important;
    text-shadow:0 1px 3px rgba(0,0,0,.55);
    white-space:nowrap;
}

html.mcpr-lightbox-open,
body.mcpr-lightbox-open{overflow:hidden!important}

.mcpr-lightbox{
    position:fixed;
    z-index:2147483000;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    color:#fff;
}
.mcpr-lightbox.is-open{display:flex}
.mcpr-lightbox-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.96);
}
.mcpr-lightbox-toolbar{
    position:absolute;
    z-index:8;
    top:16px;
    left:18px;
    right:18px;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.mcpr-lightbox-toolbar span{
    margin-right:auto;
    color:#d7d7d7!important;
    font-size:12px!important;
    font-variant-numeric:tabular-nums;
}
.mcpr-lightbox-toolbar button{
    min-width:62px;
    height:36px;
    border:1px solid rgba(255,255,255,.3)!important;
    border-radius:8px!important;
    background:rgba(20,20,20,.72)!important;
    color:#fff!important;
    font-size:12px!important;
    cursor:pointer;
}
#mcpr-lightbox-close{
    min-width:36px!important;
    width:36px;
    font-size:24px!important;
    line-height:1!important;
}
.mcpr-lightbox-stage{
    position:relative;
    z-index:3;
    width:min(86vw,1400px);
    height:82vh;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.mcpr-lightbox-image{
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    opacity:0;
    transition:opacity 1s linear;
}
.mcpr-lightbox-image.is-visible{opacity:1}
.mcpr-lightbox .mcpr-gallery-watermark{
    z-index:6;
    width:78%;
    font-size:clamp(24px,4vw,60px)!important;
}
.mcpr-lightbox-caption{
    position:absolute;
    z-index:7;
    left:50%;
    bottom:10px;
    transform:translateX(-50%);
    max-width:80%;
    padding:6px 10px;
    border-radius:6px;
    background:rgba(0,0,0,.55);
    color:#fff!important;
    text-align:center;
    font-size:11px!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.mcpr-lightbox-arrow{
    position:absolute;
    z-index:8;
    top:50%;
    transform:translateY(-50%);
    width:48px;
    height:64px;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:9px!important;
    background:rgba(0,0,0,.45)!important;
    color:#fff!important;
    font-size:40px!important;
    line-height:1!important;
    cursor:pointer;
}
.mcpr-lightbox-prev{left:16px}
.mcpr-lightbox-next{right:16px}
.mcpr-lightbox-help{
    position:absolute;
    z-index:8;
    left:50%;
    bottom:14px;
    transform:translateX(-50%);
    color:#9c9c9c!important;
    font-size:10px!important;
    white-space:nowrap;
}

@media(max-width:700px){
    .mcpr-gallery-viewbar span{display:none}
    .mcpr-gallery-view-button{width:100%}
    .mcpr-lightbox-stage{width:100vw;height:78vh}
    .mcpr-lightbox-arrow{
        width:40px;
        height:56px;
        font-size:34px!important;
        background:rgba(0,0,0,.30)!important;
    }
    .mcpr-lightbox-prev{left:6px}
    .mcpr-lightbox-next{right:6px}
    .mcpr-lightbox-help{
        font-size:9px!important;
        width:90%;
        text-align:center;
        white-space:normal;
    }
}
