/*
 * ps-fiches.css — Protect Solaire
 * Complémentaire Bootstrap 5. On ne réinvente pas la roue,
 * on surcharge uniquement ce qui est spécifique aux fiches films.
 */

/* ── Police ── */
.ps-film-layout {
    font-family: "Noto Sans", system-ui, -apple-system, sans-serif;
    font-size: 14px;
    color: #333;
}

/* ── Masquer les blocs Woo natifs sur ces pages ── */
.ps-film-enabled .product .images,
.ps-film-enabled .product .summary {
    display: none !important;
}

/* ══════════════════════════════════════════════
   IMAGE HERO
══════════════════════════════════════════════ */
.ps-hero-img {
    max-height: 380px;
    object-fit: cover;
    object-position: center;
    display: block;
    width: 100%;
}

/* ══════════════════════════════════════════════
   SIDEBAR
══════════════════════════════════════════════ */
.ps-sidebar {
    background: #f5f5f5;
    border-right: 1px solid #e0e0e0;
    padding: 0 0 30px;
    min-height: 100%;
}

.ps-sidebar-root {
    background: #2a2522;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 16px 20px;
    letter-spacing: 0.04em;
}

/* Navigation niveau 2 */
.ps-nav-l2 {
    border-bottom: 1px solid #dedede;
}

.ps-nav-l2__link {
    display: block;
    padding: 10px 20px 9px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #555;
    text-decoration: none;
    transition: color .15s;
}
.ps-nav-l2__link:hover { color: #111; }
.ps-nav-l2.ps-active > .ps-nav-l2__link { color: #111; }

/* Navigation niveau 3 */
.ps-nav-l3 {
    background: #efefef;
    margin: 0;
    padding: 0;
}

.ps-nav-l3__item {
    border-top: 1px solid #e2e2e2;
}

.ps-nav-l3__link {
    display: block;
    padding: 7px 20px 7px 30px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #666;
    text-decoration: none;
    transition: color .15s;
}
.ps-nav-l3__link:hover { color: #111; }
.ps-nav-l3__item.ps-active > .ps-nav-l3__link { color: #222; }

/* Navigation produits (niveau 4) */
.ps-nav-products {
    background: #e8e8e8;
    padding: 4px 0;
    margin: 0;
}

.ps-nav-products li a {
    display: block;
    padding: 5px 20px 5px 40px;
    font-size: 11px;
    text-transform: uppercase;
    color: #777;
    text-decoration: none;
    transition: color .15s;
    position: relative;
}
.ps-nav-products li a:hover { color: #222; }

.ps-nav-products li.ps-current a {
    color: #111;
    font-weight: 700;
}

.ps-arrow {
    font-size: 10px;
    margin-right: 2px;
}

/* Mobile : sidebar au-dessus du contenu */
@media (max-width: 767px) {
    .ps-sidebar {
        border-right: none;
        border-bottom: 1px solid #e0e0e0;
    }
}

/* ══════════════════════════════════════════════
   CONTENU FICHE
══════════════════════════════════════════════ */
.ps-content--film {
    padding: 20px 24px;
}

/* Intro */
.ps-intro__subtitle {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    margin-bottom: 6px;
}

.ps-intro__text {
    font-size: 13px;
    line-height: 1.6;
    color: #555;
    max-width: 780px;
}

.ps-intro__sep {
    border-color: #d9d9d9;
    margin-top: 16px;
}

/* En-tête fiche */
.ps-chain {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #888;
    margin-bottom: 4px;
}

.ps-title {
    font-size: 22px;
    font-weight: 800;
    text-transform: uppercase;
    color: #1a1a1a;
    line-height: 1.2;
    margin: 0;
}

.ps-fiche-head__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
}

.ps-btn-top {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    background: #111827;
    color: #fff;
    border-radius: 999px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ps-btn-top:hover {
    background: #0b1327;
    color: #fff;
}

.ps-presentation-layout .ps-sidebar--presentation {
    background: #111827;
    color: #fff;
}

.ps-sidebar--presentation .ps-sidebar-root {
    background: #0b1220;
}

.ps-presentation-nav {
    padding: 8px 0;
}

.ps-presentation-nav a {
    display: block;
    padding: 8px 20px;
    color: #e2e8f0;
    text-decoration: none;
    text-transform: uppercase;
    font-size: 11px;
    letter-spacing: .05em;
}

.ps-presentation-nav a:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.ps-content--presentation {
    padding: 20px 24px;
}

.ps-title--presentation {
    font-size: 28px;
    text-transform: none;
}

.ps-pres-gallery img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}

.ps-pres-rich {
    color: #404040;
    line-height: 1.65;
    font-size: 14px;
}
.ps-btn-download {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: #f2f2f2;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
    transition: background .15s;
}
.ps-btn-download:hover { background: #e8e8e8; color: #111; }

/* Description courte */
.ps-lead {
    font-size: 14px;
    line-height: 1.65;
    color: #444;
}

/* ══════════════════════════════════════════════
   KPI RÉSUMÉ
══════════════════════════════════════════════ */
.ps-kpi {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 16px;
    background: linear-gradient(145deg,#fff,#f7f8fa);
    border: 1px solid #e3e7ed;
    border-radius: 14px;
    height: 100%;
    box-shadow:0 8px 24px rgba(15,23,42,.055);
}

.ps-kpi__icon {
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex-shrink: 0;
    padding:7px;
    border-radius:10px;
    background:#fff;
    filter:grayscale(1);
}

.ps-kpi__label {
    font-size: 11px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 3px;
}

.ps-kpi__value {
    font-size: 13px;
    font-weight: 700;
    color: #222;
}

.ps-emph { color: #f0a000; }

.ps-chip {
    font-size: 13px;
    font-weight: 700;
    color: #f0a000;
}

.ps-kpi__hint {
    font-size: 11px;
    color: #888;
    text-decoration: underline;
}

/* ══════════════════════════════════════════════
   SECTIONS : CONSTRUCTION + ENTRETIEN
══════════════════════════════════════════════ */
.ps-section-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #333;
    border-bottom: 2px solid #e9e9e9;
    padding-bottom: 6px;
    margin-bottom: 12px;
}

.ps-layers-list {
    padding-left: 18px;
    margin: 0;
}

.ps-layers-list li {
    font-size: 13px;
    margin-bottom: 5px;
    line-height: 1.5;
    color: #444;
}

.ps-care-list li {
    font-size: 13px;
    margin-bottom: 6px;
    line-height: 1.5;
    color: #444;
    padding-left: 14px;
    position: relative;
}
.ps-care-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: #f0a000;
}

/* ══════════════════════════════════════════════
   TABLEAU TECHNIQUE
══════════════════════════════════════════════ */
.ps-note-mesure {
    font-size: 11px;
    color: #888;
    margin-bottom: 8px;
    font-style: italic;
}

.ps-tech-table th {
    font-weight: 600;
    font-size: 12px;
    color: #444;
    background: #f7f7f7;
    width: 60%;
}

.ps-tech-table td {
    font-size: 12px;
    color: #222;
    font-weight: 600;
}

/* ══════════════════════════════════════════════
   TABLEAU APPLICATION + LÉGENDE
══════════════════════════════════════════════ */
.ps-app-table td {
    font-size: 12px;
    vertical-align: middle;
}

.ps-app-table th {
    font-weight: 600;
    font-size: 12px;
    background: #f7f7f7;
}

.ps-app-value svg {
    display: block;
    margin: 0 auto;
}

.ps-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

.ps-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #555;
}
.ps-legend__item svg { display:block!important; width:22px!important; height:22px!important; min-width:22px; max-width:22px; }

.ps-note-app {
    font-size: 11px;
    color: #777;
    font-style: italic;
}

/* ══════════════════════════════════════════════
   ALERTE FICHE MANQUANTE
══════════════════════════════════════════════ */
.ps-tech-sheet__missing {
    padding: 14px;
    background: #fff8e1;
    border: 1px solid #ffe082;
    border-radius: 4px;
    font-size: 13px;
}

/* ══════════════════════════════════════════════
   BLOC VENTE
══════════════════════════════════════════════ */
.ps-bloc-vente .form-label {
    font-size: 13px;
    margin-bottom: 4px;
}

.ps-prix-recap {
    background: #f4f9f0;
    border: 1px solid #c8e0b4;
}

.ps-prix-total {
    color: #2a6e00;
}

.ps-btn-panier {
    background-color: #f0a000;
    border-color: #f0a000;
    color: #fff;
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 4px;
    white-space: nowrap;
}

.ps-btn-panier:hover {
    background-color: #d48c00;
    border-color: #d48c00;
    color: #fff;
}

.ps-remises-info {
    padding: 8px 12px;
    background: #fafafa;
    border-radius: 4px;
    border: 1px solid #eee;
}

/* ══════════════════════════════════════════════
   FORMULAIRE DEVIS
══════════════════════════════════════════════ */
.ps-bloc-devis .form-label {
    font-size: 13px;
    margin-bottom: 4px;
}

.ps-btn-devis {
    background-color: #2a6e00;
    border-color: #2a6e00;
    color: #fff;
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 4px;
}

.ps-btn-devis:hover {
    background-color: #1f5200;
    border-color: #1f5200;
    color: #fff;
}

/* ══════════════════════════════════════════════
   FICHE COMMERCIALE — PRODUITS DE PRÉSENTATION
══════════════════════════════════════════════ */
html { scroll-behavior: smooth; }
.ps-presentation-enabled .product > .images,
.ps-presentation-enabled .product > .summary { display: none !important; }
.ps-presentation-layout { --ps-dark:#101827; --ps-accent:#ef9d00; --ps-line:#e5e7eb; color:#20242b; font-family:"Noto Sans",system-ui,-apple-system,sans-serif; }
.ps-pres-shell { padding-top: 18px; padding-bottom: 54px; }
.ps-presentation-layout [id] { scroll-margin-top: 92px; }
.ps-presentation-layout .ps-main-row { align-items: stretch; border:1px solid var(--ps-line); border-radius:18px; overflow:visible; background:#fff; box-shadow:0 18px 50px rgba(15,23,42,.07); }
.ps-presentation-layout .ps-sidebar--presentation { border:0; border-radius:18px 0 0 18px; min-height:100%; background:var(--ps-dark); }
.ps-presentation-layout .ps-sidebar-root { display:block; border-radius:18px 0 0; background:#080f1d; color:#fff; text-decoration:none; }
.ps-presentation-layout .ps-presentation-nav { position:sticky; top:80px; padding:10px 0 24px; }
.ps-presentation-layout .ps-presentation-nav a { border-left:3px solid transparent; padding:11px 20px; transition:.2s ease; }
.ps-presentation-layout .ps-presentation-nav a:hover,
.ps-presentation-layout .ps-presentation-nav a.is-active { color:#fff; background:rgba(255,255,255,.08); border-left-color:var(--ps-accent); }
.ps-content--presentation { padding:34px clamp(22px,4vw,54px) 54px; min-width:0; }
.ps-pres-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-bottom:18px; border-bottom:1px solid var(--ps-line); }
.ps-pres-family-link { display:inline-block; margin-bottom:7px; color:#8a5a00; font-size:12px; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.ps-title--presentation { font-size:clamp(30px,4vw,50px); line-height:1.05; letter-spacing:-.035em; }
.ps-presentation-layout .ps-btn-top { padding:12px 20px; flex:0 0 auto; background:var(--ps-dark); }
.ps-pres-lead { position:relative; max-width:850px; margin:24px 0 6px; padding-left:22px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(18px,2vw,24px); line-height:1.55; color:#384152; }
.ps-pres-lead::before { content:""; position:absolute; left:0; top:.2em; bottom:.2em; width:4px; border-radius:4px; background:var(--ps-accent); }
.ps-pres-section { padding:38px 0; border-bottom:1px solid var(--ps-line); }
.ps-pres-section:last-child { border-bottom:0; }
.ps-pres-section h2 { margin:0 0 18px; font-size:clamp(24px,3vw,34px); font-weight:800; letter-spacing:-.025em; color:#111827; }
.ps-pres-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.ps-pres-section-head h2 { margin:0; }
.ps-pres-eyebrow { margin:0 0 5px; color:#9a6500; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.ps-media-strip,.ps-card-strip { display:flex; gap:12px; overflow-x:auto; overscroll-behavior-inline:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; padding:2px 2px 12px; }
.ps-media-card { position:relative; flex:0 0 230px; width:230px; height:190px; padding:0; border:0; border-radius:16px; overflow:hidden; background:#eef0f3; cursor:zoom-in; scroll-snap-align:start; }
.ps-media-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.ps-media-card:hover img { transform:scale(1.035); }
.ps-slider-buttons { display:flex; gap:8px; }
.ps-slider-buttons button { width:38px; height:38px; border:1px solid #d5d9e0; border-radius:50%; background:#fff; color:#111827; font-size:24px; line-height:1; }
.ps-slider-buttons button:hover { background:var(--ps-dark); color:#fff; }
.ps-pres-rich { font-size:16px; line-height:1.78; }
.ps-pres-rich p { max-width:900px; }
.ps-pres-rich ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 24px; padding:0; list-style:none; }
.ps-pres-rich li { position:relative; padding:13px 15px 13px 35px; border:1px solid #edf0f3; border-radius:12px; background:#fafbfc; }
.ps-pres-rich li::before { content:"✓"; position:absolute; left:13px; color:#b47400; font-weight:900; }
.ps-related-card { flex:0 0 280px; overflow:hidden; border:1px solid #e3e6eb; border-radius:16px; background:#fff; color:#111827; text-decoration:none; scroll-snap-align:start; box-shadow:0 8px 25px rgba(15,23,42,.05); }
.ps-related-card img { width:100%; height:175px; object-fit:cover; display:block; }
.ps-related-card span { display:block; padding:15px; }
.ps-related-card strong,.ps-related-card small { display:block; }
.ps-related-card strong { font-size:17px; }
.ps-related-card small { margin-top:7px; color:#687080; line-height:1.45; }
.ps-bloc-devis { margin-top:8px; padding:38px; border:1px solid #dae0e8 !important; border-radius:18px; background:#f7f9fb; }
.ps-bloc-devis h2 { margin-bottom:8px; }
.ps-lightbox[hidden] { display:none !important; }
.ps-lightbox { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:32px 78px; background:rgba(4,8,15,.94); }
.ps-lightbox img { max-width:min(1200px,92vw); max-height:88vh; object-fit:contain; box-shadow:0 20px 80px rgba(0,0,0,.45); }
.ps-lightbox button { position:absolute; border:0; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; }
.ps-lightbox-close { top:20px; right:24px; width:48px; height:48px; border-radius:50%; font-size:34px; }
.ps-lightbox-prev,.ps-lightbox-next { top:50%; width:50px; height:70px; transform:translateY(-50%); border-radius:12px; font-size:42px; }
.ps-lightbox-prev { left:18px; }.ps-lightbox-next { right:18px; }
.ps-lightbox-open { overflow:hidden; }

@media (max-width:991px) {
    .ps-presentation-layout .ps-main-row { border-radius:14px; }
    .ps-presentation-layout .ps-sidebar--presentation { border-radius:14px 14px 0 0; min-height:0; }
    .ps-presentation-layout .ps-sidebar-root { border-radius:14px 14px 0 0; }
    .ps-presentation-layout .ps-presentation-nav { position:static; display:flex; overflow-x:auto; padding:0 8px 10px; }
    .ps-presentation-layout .ps-presentation-nav a { flex:0 0 auto; border-left:0; border-bottom:3px solid transparent; }
    .ps-presentation-layout .ps-presentation-nav a.is-active { border-bottom-color:var(--ps-accent); }
}
@media (max-width:767px) {
    .ps-pres-shell { padding-inline:10px; }
    .ps-content--presentation { padding:24px 18px 36px; }
    .ps-pres-header { align-items:flex-start; flex-direction:column; }
    .ps-pres-header .ps-btn-top { width:100%; justify-content:center; }
    .ps-media-card { flex-basis:78vw; width:78vw; height:220px; }
    .ps-pres-rich ul { grid-template-columns:1fr; }
    .ps-bloc-devis { padding:24px 18px; }
    .ps-lightbox { padding:60px 14px; }
}

/* Floating quick action on mobile */
@media (max-width: 767px) {
    .ps-quick-actions {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1200;
        padding: 10px 16px;
        background: linear-gradient(180deg, rgba(17, 24, 39, 0.96), rgba(17, 24, 39, 0.94));
        border-top: 1px solid rgba(255, 255, 255, 0.14);
        display: flex;
        gap: 8px;
    }

    .ps-quick-actions .btn {
        flex: 1;
        white-space: nowrap;
    }
}

/* Fiche présentation plein format — navigation horizontale et modales. */
.ps-presentation-layout .ps-pres-shell { width:min(100% - 32px,1380px); max-width:none; margin-inline:auto; }
.ps-presentation-layout .ps-content--presentation { width:100%; padding:clamp(24px,4vw,58px); border:1px solid var(--ps-line); border-radius:18px; background:#fff; box-shadow:0 18px 50px rgba(15,23,42,.07); }
.ps-presentation-enabled .wrapper,.ps-presentation-enabled main#content,.ps-presentation-layout,.ps-presentation-layout .ps-pres-shell,.ps-presentation-layout .ps-content--presentation { overflow:visible!important; }
.ps-presentation-layout .ps-presentation-nav { position:-webkit-sticky!important; position:sticky!important; z-index:900; top:0!important; align-self:flex-start; display:flex; gap:4px; width:100%; margin:26px 0 0; padding:8px; overflow-x:auto; border-radius:13px; background:var(--ps-dark); box-shadow:0 8px 26px rgba(15,23,42,.12); scrollbar-width:none; -ms-overflow-style:none; }
body.admin-bar .ps-presentation-layout .ps-presentation-nav { top:32px!important; }

.ps-otp-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ps-otp-panel { grid-column:1/-1; margin-top:14px; padding:18px; border:1px solid #d9dee7; border-left:4px solid #ef9d00; border-radius:12px; background:#fff; }
.ps-otp-panel[hidden] { display:none!important; }
.ps-otp-title { margin:0 0 4px; color:#101827; font-weight:900; }
.ps-otp-help { margin:0 0 12px; color:#5c6573; font-size:14px; }
.ps-otp-row { display:flex; gap:10px; align-items:stretch; }
.ps-otp-row input { max-width:210px; letter-spacing:.2em; font-size:18px; font-weight:800; text-align:center; }
.ps-otp-resend { margin-top:10px; padding:0; border:0; background:transparent; color:#704a00; font-weight:700; text-decoration:underline; }
.ps-otp-resend:disabled { color:#89909b; text-decoration:none; }
.ps-otp-status { min-height:1.4em; margin:10px 0 0; color:#176b3a; font-weight:700; }
.ps-otp-status.is-error { color:#b42318; }
.ps-presentation-layout .ps-presentation-nav::-webkit-scrollbar,.ps-media-strip::-webkit-scrollbar,.ps-card-strip::-webkit-scrollbar,.ps-portfolio-modal-gallery::-webkit-scrollbar { display:none; }
.ps-presentation-layout .ps-presentation-nav a { flex:0 0 auto; padding:11px 18px; border:0; border-radius:8px; color:#cfd5df; font-size:12px; font-weight:800; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }
.ps-presentation-layout .ps-presentation-nav a:hover,.ps-presentation-layout .ps-presentation-nav a.is-active { color:#111827; background:var(--ps-accent); }
.ps-media-strip,.ps-card-strip,.ps-portfolio-modal-gallery { scrollbar-width:none; -ms-overflow-style:none; scroll-snap-type:x mandatory; }
.ps-media-card,.ps-related-card,.ps-portfolio-photo { scroll-snap-align:start; }
.ps-slider-buttons { display:flex; gap:8px; }
.ps-slider-buttons button { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid #d9dee7; border-radius:50%; background:#fff; color:#101827; font-size:18px; line-height:1; cursor:pointer; transition:.2s ease; }
.ps-slider-buttons button:hover:not(:disabled) { border-color:#101827; background:#101827; color:#fff; }
.ps-slider-buttons button:disabled { opacity:.3; cursor:default; }
.ps-portfolio-card { padding:0; text-align:left; cursor:pointer; }
.ps-lightbox button { display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:50%; background:rgba(10,15,24,.68); font-size:20px; line-height:1; transition:.2s ease; }
.ps-lightbox button:hover { border-color:#ef9d00; background:#ef9d00; color:#101827; }
.ps-lightbox-prev,.ps-lightbox-next { top:50%; transform:translateY(-50%); }
.ps-lightbox--single .ps-lightbox-prev,.ps-lightbox--single .ps-lightbox-next { display:none; }
.ps-modal-open { overflow:hidden; }
.ps-portfolio-modal[hidden] { display:none!important; }
.ps-portfolio-modal { position:fixed; inset:0; z-index:100000; display:grid; place-items:center; padding:clamp(12px,4vw,48px); background:rgba(4,8,15,.91); }
.ps-portfolio-dialog { position:relative; width:min(1050px,100%); max-height:92vh; overflow:auto; border-radius:20px; background:#fff; box-shadow:0 30px 100px rgba(0,0,0,.5); }
.ps-portfolio-close { position:sticky; z-index:4; top:14px; float:right; display:grid; place-items:center; width:44px; height:44px; margin:14px 14px -58px 0; padding:0; border:0; border-radius:50%; background:#101827; color:#fff; font-size:28px; cursor:pointer; }
.ps-portfolio-modal-gallery { display:flex; gap:10px; overflow-x:auto; background:#0b111c; }
.ps-portfolio-photo { flex:0 0 100%; height:min(58vh,620px); padding:0; border:0; background:#0b111c; }
.ps-portfolio-photo img { width:100%; height:100%; object-fit:cover; }
.ps-portfolio-modal-body { padding:clamp(26px,5vw,64px); }
.ps-portfolio-modal-body h2 { margin:0 0 6px; color:#111827; font-size:clamp(28px,4vw,46px); }
.ps-portfolio-location { color:#697386; font-weight:700; }
.ps-portfolio-modal-body blockquote { margin:30px 0; padding:24px 28px; border-left:4px solid #ef9d00; background:#f5f7fa; color:#202936; font-family:Georgia,"Times New Roman",serif; font-size:20px; }
.ps-portfolio-modal-body blockquote span { display:block; margin-bottom:8px; color:#9a6500; font-family:"Noto Sans",sans-serif; font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.ps-portfolio-page-link { display:inline-flex; padding:12px 18px; border-radius:999px; background:#101827; color:#fff!important; font-weight:800; text-decoration:none!important; }

@media (max-width:767.98px) {
    .ps-presentation-layout .ps-pres-shell { width:100%; padding-inline:10px; }
    .ps-presentation-layout .ps-content--presentation { padding:22px 16px 34px; border-radius:14px; }
    .ps-presentation-layout .ps-presentation-nav { top:0!important; margin-inline:-16px; width:calc(100% + 32px); border-radius:0; }
    body.admin-bar .ps-presentation-layout .ps-presentation-nav { top:46px!important; }
    .ps-presentation-layout .ps-presentation-nav a { padding:10px 14px; }
    .ps-pres-section-head { align-items:flex-end; }
    .ps-pres-section-head h2 { font-size:25px; }
    .ps-lightbox { padding:70px 12px; }
    .ps-lightbox img { max-width:100%; max-height:78vh; }
    .ps-lightbox-prev { left:8px; }.ps-lightbox-next { right:8px; }
    .ps-portfolio-modal { padding:0; }
    .ps-portfolio-dialog { width:100%; max-height:100vh; min-height:100vh; border-radius:0; }
    .ps-portfolio-photo { height:44vh; }
    .ps-otp-row { align-items:stretch; flex-direction:column; }
    .ps-otp-row input { max-width:none; }
}
