/*
Theme Name: DECARM Cinematic
Theme URI: https://decarm.com
Author: DECARM
Description: WordPress adaptation of the restored DECARM Version 3 cinematic storefront, with WooCommerce support and bundled product imagery.
Version: 1.3.1
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: decarm-cinematic
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* WordPress and WooCommerce integration; source layout remains the Version 3 design. */
html{scroll-behavior:smooth}.skip-link:focus{position:fixed;left:20px;top:20px;z-index:999999;background:#fff;padding:15px}.brand{width:240px;height:auto;aspect-ratio:460/140;overflow:visible;flex-shrink:0}.brand img{position:static;inset:auto;width:100%;height:100%;max-width:100%;object-fit:contain}.brand .custom-logo-link{display:block;width:100%;height:100%}.brand .custom-logo{width:100%;height:100%;object-fit:contain}.card-image .quick-add{display:flex;align-items:center;font-size:13px}.card .added_to_cart{position:absolute;left:12px;bottom:54px;z-index:5;background:#fff;padding:7px 12px;font-size:12px}.woocommerce img{height:auto}.woocommerce div.product .woocommerce-product-gallery img{height:auto;object-fit:contain}.woocommerce div.product .woocommerce-product-gallery__image{height:auto}.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:cover}.woocommerce input,.woocommerce select,.woocommerce textarea,.wp-content-area input,.wp-content-area textarea{border:1px solid #a6b6c0;padding:12px;max-width:100%;background:white;color:#22343f}.woocommerce .quantity .qty{width:80px;height:auto}.woocommerce table{width:100%}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:#3a6b8c;color:white;padding:14px 20px}.woocommerce a.button:hover,.woocommerce button.button:hover{background:#22343f;color:white}.wp-content-area{min-height:60vh}.wp-content-area h1{margin-bottom:30px}.wp-content-area p{margin:0 0 18px}.wp-content-area .woocommerce{font-family:inherit}.wp-content-area .wp-block-image img{height:auto}.edit-filters a{font-size:12px;padding:9px 14px}.search-tools{position:relative}.search-tools summary{list-style:none;cursor:pointer}.search-tools form{position:absolute;right:0;top:40px;width:320px;max-width:85vw;padding:20px;background:#fff;box-shadow:0 12px 30px #22343f26}.search-tools input{height:44px;border:1px solid #a6b6c0;padding:8px;width:100%;margin:8px 0}.search-tools .button{width:100%}.woocommerce .woocommerce-breadcrumb{margin-bottom:25px}footer .brand{width:240px}.header-actions>a{font-size:13px}.wc-block-components-product-image img{height:auto}.dc-product-message{font-size:13px}.woocommerce div.product form.cart .variations select{width:100%}.wp-content-area article{margin-bottom:40px}
@media(max-width:760px){header{position:relative;padding:0 18px}.brand{width:185px;max-width:calc(100vw - 165px)}.header-actions{gap:12px}.header-actions .saved-link{display:none}.header-actions .bag-button span{font-size:11px}.menu-button{display:flex!important}header nav.menu-open{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:100%;left:0;right:0;background:#f4f4f2;padding:22px;z-index:200;box-shadow:0 20px 25px #22343f22}header nav.menu-open .nav-dropdown{padding:5px 0}header nav.menu-open .mega{position:static;display:block;box-shadow:none;border:0;padding:5px 18px;min-width:0;background:transparent}header nav.menu-open .mega a{font-size:14px}.quick-add{opacity:1;transform:none}.edit-filters{overflow-x:auto;max-width:100%}.edit-filters a{white-space:nowrap}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{width:48%;margin-right:2%}.woocommerce div.product .summary,.woocommerce div.product div.images{width:100%;float:none}.woocommerce table.shop_table{font-size:14px}.signature-hero{overflow:hidden}.search-tools form{right:-90px}footer .brand{max-width:240px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* v1.1 compact product actions and restrained motion */
.card-image>a.quick-add,.card-image>a.quick-add:hover{inset:auto 8px 8px auto;display:inline-flex;width:auto;max-width:calc(100% - 16px);height:34px;min-height:34px;padding:0 12px;margin:0;border:1px solid #22343f18;border-radius:3px;font-size:11px;line-height:1;gap:5px;opacity:1;transform:none;z-index:4;box-sizing:border-box;box-shadow:0 3px 12px #22343f12;background:#fff9f0;color:#22343f;transition:background .25s,color .25s,box-shadow .25s}
.card-image>a.quick-add:hover{background:#3a6b8c;color:white;box-shadow:0 4px 15px #22343f30}.card-image>a.quick-add:focus-visible{outline:2px solid #3a6b8c;outline-offset:2px}.card-image>a.quick-add.loading{opacity:.65;cursor:progress}.card-image>a.quick-add.added{background:#3a6b8c;color:white}
.brand,.brand img{background:transparent!important}.brand img{mix-blend-mode:multiply}
.topline{position:relative;overflow:hidden}.topline:after{content:'';position:absolute;bottom:0;left:0;width:24%;height:1px;background:linear-gradient(90deg,transparent,#a7c7dc,transparent);animation:dc-line 7s ease-in-out infinite;pointer-events:none}@keyframes dc-line{0%,100%{transform:translateX(-110%)}55%{transform:translateX(420%)}}
.button svg,.text-link svg{transition:transform .35s cubic-bezier(.22,1,.36,1)}.button:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}
.personal-image{background:#fff9f0}.personal-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.bag-button.dc-cart-pulse{animation:dc-cart .45s ease}@keyframes dc-cart{50%{transform:scale(1.12)}}
@media(max-width:760px){.personal-image{height:auto;min-height:0;aspect-ratio:1}.personal-image img{object-position:center}.card-image>a.quick-add,.card-image>a.quick-add:hover{height:32px;min-height:32px;font-size:10px;padding:0 9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.dc-heading{opacity:1;transform:none}.dc-mask,.dc-heading{clip-path:none}}

/* Visibility must never depend on JavaScript, observer callbacks or cached reveal classes. */
.reveal,.reveal.in-view,.dc-mask,.dc-mask.in-view,.dc-heading,.dc-heading.in-view{opacity:1!important;visibility:visible!important;clip-path:none!important;transform:none;transition:none}
@media(prefers-reduced-motion:no-preference){
main h2.dc-entered,.card.dc-entered,.category-tile.dc-entered{animation:dc-arrive .65s cubic-bezier(.22,1,.36,1)}
.personal-image.dc-entered img,.feature-gallery.dc-entered img,.collection-banner.dc-entered>img{animation:dc-image-settle 1.2s cubic-bezier(.22,1,.36,1)}
}
@keyframes dc-arrive{from{transform:translateY(12px)}to{transform:none}}
@keyframes dc-image-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
