/* LOG3FILM 0.8.0: explicit surfaces and legible states for managed storefronts. */
:is(body.csps-page,body.csps-native-product){--lfx-canvas:#0c0f12;--lfx-card:#192127;--lfx-card-hover:#232e36;--lfx-readable:#f5f2ed;--lfx-secondary:#bdc6ce;--lfx-stroke:#485660;--lfx-warm:#ff9b55;--lfx-on-light:#161c21;}
:is(body.csps-page,body.csps-native-product) .csps{--csps-paper:var(--lfx-canvas);--csps-ink:var(--lfx-readable);--csps-muted:var(--lfx-secondary);--csps-line:var(--lfx-stroke);}

/* Legacy white panels must not inherit the new white heading palette. */
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-selling-grid article,.csps-software-columns>article,.csps-workflow-grid article,.csps-camera-context){background:var(--lfx-card)!important;color:var(--lfx-readable)!important;border-color:var(--lfx-stroke)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-selling-grid,.csps-software-columns,.csps-workflow-grid,.csps-camera-context) :is(h2,h3,h4,strong,summary){color:var(--lfx-readable)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-selling-grid,.csps-software-columns,.csps-workflow-grid,.csps-camera-context) :is(p,li,small){color:var(--lfx-secondary)!important;}
:is(body.csps-page,body.csps-native-product) .csps-selling-icon{color:var(--lfx-warm)!important;background:#2d241e!important;border-color:#765239!important;}
:is(body.csps-page,body.csps-native-product) .csps-selling-grid article{border-radius:18px!important;box-shadow:0 14px 35px #0000001a;}
:is(body.csps-page,body.csps-native-product) .csps-selling-grid article h3{font-size:clamp(19px,1.5vw,24px)!important;line-height:1.25!important;}
:is(body.csps-page,body.csps-native-product) .csps-selling-grid article p{font-size:15px!important;line-height:1.75!important;}

/* Selection is a paired foreground/background treatment, including hover. */
:is(body.csps-page,body.csps-native-product) .csps .csps-media-tabs{background:#192127!important;border-color:var(--lfx-stroke)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-media-tabs button{color:var(--lfx-secondary)!important;background:transparent!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-media-tabs button small{color:inherit!important;opacity:1!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-media-tabs button:is([aria-selected=true],:hover){background:var(--lfx-readable)!important;color:var(--lfx-on-light)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-camera-chips,.csps-camera-buttons) button{background:var(--lfx-card)!important;color:var(--lfx-readable)!important;border-color:var(--lfx-stroke)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-camera-chips,.csps-camera-buttons) button:is([aria-pressed=true],:hover){background:var(--lfx-readable)!important;color:var(--lfx-on-light)!important;border-color:var(--lfx-readable)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button>small{color:var(--lfx-secondary)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button:is([aria-pressed=true],:hover)>small{color:#3b4b57!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-selling-actions .csps-button-secondary{background:transparent!important;color:var(--lfx-readable)!important;border-color:var(--lfx-stroke)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-selling-actions .csps-button-secondary:hover{background:var(--lfx-readable)!important;color:var(--lfx-on-light)!important;border-color:var(--lfx-readable)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-button-light,.csps-button):not(.csps-button-secondary) :is(span,strong){color:inherit!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-hero-photo-tag,.csps-sample-badge,.csps-skip-link){background:var(--lfx-readable)!important;color:var(--lfx-on-light)!important;}
:is(body.csps-page,body.csps-native-product) .csps-photo-comparison.csps-is-empty .csps-comparison-fallback{background:var(--lfx-card)!important;color:var(--lfx-secondary)!important;}

/* Questions remain readable before and after opening, with a clear focus state. */
:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list details{background:transparent!important;border-color:var(--lfx-stroke)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list summary,:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list summary span{color:var(--lfx-readable)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list details[open] summary{color:var(--lfx-warm)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list details[open] summary span{color:inherit!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-faq-list details p{color:var(--lfx-secondary)!important;}
:is(body.csps-page,body.csps-native-product) .csps :is(button,a,summary):focus-visible{outline:3px solid var(--lfx-warm)!important;outline-offset:5px!important;}

/* The actual compatible apps are now recognizable at a glance. */
:is(body.csps-page,body.csps-native-product) .csps .csps-apps{gap:20px;align-items:flex-start;}
:is(body.csps-page,body.csps-native-product) .csps .csps-app{gap:10px;max-width:104px;color:var(--lfx-secondary)!important;font-size:12px!important;line-height:1.45;}
:is(body.csps-page,body.csps-native-product) .csps .csps-app svg{width:48px!important;height:48px!important;flex-shrink:0;filter:drop-shadow(0 5px 12px #00000026);}
:is(body.csps-page,body.csps-native-product) .csps .csps-apps-compact{gap:18px;margin:20px 0!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-apps-compact .csps-app{width:78px;max-width:78px;font-size:10px!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-apps-compact .csps-app>span.csps-sr-only{position:static!important;display:block!important;clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;white-space:normal!important;color:var(--lfx-secondary)!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-software-wall .csps-app svg{width:56px!important;height:56px!important;}
:is(body.csps-page,body.csps-native-product) .csps .csps-software-wall .csps-app{max-width:112px;font-size:12px!important;}
:is(body.csps-page,body.csps-native-product) .csps-product-benefits .csps-apps{gap:28px!important;margin-block:18px 26px;}

/* Large typographic camera names, without implying an official partnership. */
:is(body.csps-page,body.csps-native-product) .csps :is(.csps-camera-chips button,.csps-camera-buttons button>span){font-size:clamp(23px,2.3vw,31px)!important;font-weight:750;letter-spacing:-.035em;}
:is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button{min-height:88px;padding:18px 22px;}
:is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button>small{font-size:11px!important;line-height:1.45;}
:is(body.csps-page,body.csps-native-product) :is(.lfx-brand-strip,.csps-lfx-brand-strip){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(22px,5vw,72px);}
:is(body.csps-page,body.csps-native-product) :is(.lfx-brand-strip,.csps-lfx-brand-strip) :is([data-camera],[data-csps-camera]){font-size:clamp(25px,3vw,38px);font-weight:800;line-height:1.2;color:var(--lfx-readable);letter-spacing:-.035em;}
:is(body.csps-page,body.csps-native-product) :is(:is(.lfx-brand-strip,.csps-lfx-brand-strip) :is([data-camera=canon],[data-csps-camera=canon]),.csps-camera-chips button:is([data-camera=canon],[data-csps-camera=canon]),.csps-camera-buttons button:is([data-camera=canon],[data-csps-camera=canon])>span){font-family:Georgia,"Times New Roman",serif;font-weight:800;}
:is(body.csps-page,body.csps-native-product) :is(:is(.lfx-brand-strip,.csps-lfx-brand-strip) :is([data-camera=sony],[data-csps-camera=sony]),.csps-camera-chips button:is([data-camera=sony],[data-csps-camera=sony]),.csps-camera-buttons button:is([data-camera=sony],[data-csps-camera=sony])>span){font-family:Georgia,"Times New Roman",serif;font-weight:700;text-transform:uppercase;letter-spacing:.025em;}
:is(body.csps-page,body.csps-native-product) :is(:is(.lfx-brand-strip,.csps-lfx-brand-strip) :is([data-camera=nikon],[data-csps-camera=nikon]),.csps-camera-chips button:is([data-camera=nikon],[data-csps-camera=nikon]),.csps-camera-buttons button:is([data-camera=nikon],[data-csps-camera=nikon])>span){font-family:Arial,Helvetica,sans-serif;font-style:italic;font-weight:900;letter-spacing:-.06em;}

/* Woo's legacy commerce base uses a light surface; native managed products do not. */
body.csps-native-product .woocommerce{background:transparent!important;color:var(--lfx-readable)!important;}
body.csps-native-product .woocommerce-tabs .panel{background:transparent!important;color:var(--lfx-secondary)!important;}
body.csps-native-product .woocommerce div.product .woocommerce-tabs ul.tabs li{background:#151c22!important;border-color:var(--lfx-stroke)!important;}
body.csps-native-product .woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--lfx-secondary)!important;}
body.csps-native-product .woocommerce div.product .woocommerce-tabs ul.tabs li:is(.active,:hover){background:#293039!important;}
body.csps-native-product .woocommerce div.product .woocommerce-tabs ul.tabs li:is(.active,:hover) a{color:var(--lfx-warm)!important;}
body.csps-native-product .woocommerce .woocommerce-info{background:#192127!important;color:var(--lfx-readable)!important;border-color:var(--lfx-warm)!important;}
body.csps-native-product .woocommerce .woocommerce-info a{color:var(--lfx-warm)!important;}

@media(max-width:760px){
 :is(body.csps-page,body.csps-native-product) .csps .csps-app svg{width:36px!important;height:36px!important;}
 :is(body.csps-page,body.csps-native-product) .csps .csps-software-wall .csps-app svg{width:44px!important;height:44px!important;}
 :is(body.csps-page,body.csps-native-product) .csps .csps-apps-compact{gap:12px!important;}
 :is(body.csps-page,body.csps-native-product) .csps .csps-apps-compact .csps-app{width:68px;max-width:68px;}
 :is(body.csps-page,body.csps-native-product) .csps-product-benefits .csps-apps{gap:20px!important;}
 :is(body.csps-page,body.csps-native-product) .csps :is(.csps-camera-chips button,.csps-camera-buttons button>span){font-size:23px!important;}
 :is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button{min-height:76px;padding:14px 12px;}
 :is(body.csps-page,body.csps-native-product) .csps .csps-camera-buttons button>small{font-size:10px!important;}
}
@media(forced-colors:active){
 :is(body.csps-page,body.csps-native-product) .csps :is(.csps-camera-chips,.csps-camera-buttons,.csps-media-tabs) button{border:1px solid ButtonText!important;forced-color-adjust:auto;}
}
