/* WordPress + WooCommerce bridge for LamiOffice Woo Clean 3.0.0 */
:root{--wp-admin--admin-bar--height:32px}
body.admin-bar .site-header{top:32px}
.site-header .brand{display:flex;align-items:center;min-width:0}
.site-header .brand img{width:190px!important;height:50px!important;object-fit:contain;object-position:left center}
.footer-brand img{width:min(260px,100%);max-height:170px;object-fit:contain;object-position:left center;margin-bottom:14px}
.header-main .search-box{margin:0}
.header-main form.search-box,.mobile-search form.search-box{display:flex}
.header-main form.search-box input,.mobile-search form.search-box input{border:0!important;box-shadow:none!important;padding:0!important}
.service-switch{min-width:0}
.service-switch a{white-space:nowrap}

/* Product cards are rendered by PHP, never by data.js. */
.lami-wc-product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.product-grid>.empty-state{grid-column:1/-1;width:100%}
.product-card .product-media>a{display:block;width:100%;height:100%}
.product-card .product-media img{width:100%;height:100%;object-fit:contain!important}
.product-card .price-row .price,.product-card .price-row .woocommerce-Price-amount{color:var(--gold-2);font-size:15px;font-weight:900}
.product-card .price-row del{font-size:11px;color:var(--muted);margin-left:6px}
.product-card .price-row ins{text-decoration:none}
.product-card .card-actions a.btn{display:flex;align-items:center;justify-content:center;text-align:center}
.product-card .product-stock-badge{position:absolute;right:8px;top:8px;padding:4px 7px;border-radius:7px;background:rgba(7,17,15,.86);color:#fff;font-size:10px;font-weight:800}
.product-card .added_to_cart{position:absolute;left:10px;right:10px;bottom:8px;z-index:4;padding:7px;border-radius:8px;background:#fff;color:#10211c;text-align:center;font-size:11px;font-weight:800}

/* Shop archive */
.lami-shop-wrap{padding-top:18px;padding-bottom:42px}
.catalog-top{margin-top:0}
.catalog-tools .woocommerce-notices-wrapper{width:100%}
.catalog-tools .woocommerce-result-count{margin:0 auto 0 0;color:var(--muted);font-size:12px}
.catalog-tools .woocommerce-ordering{margin:0}
.catalog-tools .woocommerce-ordering select{height:40px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 34px 0 12px}
.woocommerce .woocommerce-breadcrumb{color:var(--muted)}
.lami-pagination{margin-top:24px}
.woocommerce-pagination ul.page-numbers{display:flex!important;gap:7px;border:0!important;justify-content:center}
.woocommerce-pagination ul.page-numbers li{border:0!important}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:grid!important;place-items:center;min-width:40px;height:40px;border:1px solid var(--line)!important;border-radius:10px;background:var(--panel);color:var(--text)!important}
.woocommerce-pagination .page-numbers .current{background:var(--gold)!important;color:#17120b!important}

/* Woo notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid var(--line)!important;border-top:3px solid var(--gold)!important;border-radius:12px;background:var(--panel)!important;color:var(--text)!important;padding:14px 18px 14px 48px!important}
.woocommerce-message::before,.woocommerce-info::before{color:var(--gold)!important}
.woocommerce-error::before{color:#f07c72!important}
.woocommerce-message a.button,.woocommerce-info a.button{border-radius:9px;background:var(--gold);color:#17120b}

/* Single product */
.lami-single-product-wrap{padding-top:22px;padding-bottom:50px}
.lami-single-product-wrap .product{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(15,29,25,.90);box-shadow:var(--shadow)}
.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:20px}
.woocommerce div.product .product_title{font-family:Cambria,"Times New Roman",serif;font-size:34px;line-height:1.2;color:var(--text)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--gold-2);font-size:24px;font-weight:900}
.woocommerce div.product p.price del{color:var(--muted);font-size:15px}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product form.cart{display:flex;gap:10px;flex-wrap:wrap}
.woocommerce .quantity .qty{height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text)}
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt{min-height:44px;border-radius:10px;background:var(--gold)!important;color:#17120b!important;font-weight:900}
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover{background:var(--gold-2)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{border:1px solid var(--line);border-radius:10px 10px 0 0;background:var(--panel-2);color:var(--muted)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--gold);color:#17120b}
.woocommerce div.product .woocommerce-tabs .panel{padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025)}
.woocommerce .related.products>h2,.woocommerce .upsells.products>h2{font-family:Cambria,"Times New Roman",serif;font-size:28px}
.woocommerce .related.products ul.products,.woocommerce .upsells.products ul.products{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}

/* Cart, checkout, account and regular pages */
.lami-page-wrap{padding-top:22px;padding-bottom:52px}
.lami-content-panel{padding:24px;overflow:hidden}
.lami-content-panel h1{font-family:Cambria,"Times New Roman",serif;font-size:36px;margin:3px 0 20px}
.entry-content a:not(.button){color:var(--gold-2)}
.woocommerce table.shop_table{border-color:var(--line);border-radius:12px;background:rgba(15,29,25,.80)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)}
.woocommerce table.shop_table img{width:72px;border-radius:9px;background:#f5efe5}
.woocommerce a.remove{color:#f07c72!important}
.woocommerce a.remove:hover{background:#f07c72!important;color:#fff!important}
.woocommerce .cart_totals,.woocommerce-checkout #payment{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);padding:8px 11px}
.select2-dropdown{background:var(--panel-2);color:var(--text);border-color:var(--line)}
.woocommerce .button{border-radius:9px!important}

/* Posts */
.lami-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.lami-post-card{overflow:hidden}
.lami-post-card img{width:100%;height:230px;object-fit:cover}
.lami-post-card__body{padding:18px}
.lami-post-card__body h2{font-size:20px;line-height:1.35}

/* Consultation modal */
#backdrop[hidden]{display:none}
#backdrop{position:fixed;inset:0;z-index:1090;background:rgba(0,0,0,.68);backdrop-filter:blur(5px)}
.lami-consult-modal{position:fixed;left:50%;top:50%;z-index:1100;width:min(620px,calc(100% - 24px));max-height:calc(100vh - 28px);overflow:auto;transform:translate(-50%,-46%) scale(.98);opacity:0;visibility:hidden;padding:20px;border:1px solid var(--line-strong);border-radius:18px;background:var(--panel-solid);box-shadow:0 28px 90px rgba(0,0,0,.48);transition:.2s ease}
.lami-consult-modal.is-open{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}
.lami-consult-modal .modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:14px}
.lami-consult-modal h2{margin:2px 0;font-family:Cambria,"Times New Roman",serif;font-size:28px}
.lami-consult-modal .close-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);font-size:24px}
.lami-consult-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lami-consult-form .field{display:grid;gap:5px}
.lami-consult-form .full{grid-column:1/-1}
.lami-consult-form label{font-size:12px;color:var(--muted)}
.lami-consult-form input,.lami-consult-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text);padding:11px 12px;outline:0}
.lami-consult-form input:focus,.lami-consult-form textarea:focus{border-color:var(--gold)}
.lami-form-message{grid-column:1/-1;font-size:12px;color:var(--gold-2)}
body.lami-modal-open{overflow:hidden}

/* Small fixes */
.home-hero-full{background-image:linear-gradient(90deg,rgba(7,17,15,.78),rgba(7,17,15,.35)),url('../images/hero-office.jpg')!important}
.home-consult-quote{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px;margin-bottom:34px}
.home-consult-quote h2{font-family:Cambria,"Times New Roman",serif;font-size:30px;margin:3px 0}
.quote-cta-actions{display:flex;gap:9px;flex-wrap:wrap}
.need-icon{display:grid;place-items:center;font-size:23px;font-weight:900;color:var(--gold-2)}
.trust-icon{font-size:20px;font-weight:900;color:var(--gold-2)}
.float-btn{text-decoration:none}
.empty-state h1{font-family:Cambria,"Times New Roman",serif;font-size:42px}

@media(max-width:1100px){
  .lami-wc-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .woocommerce .related.products ul.products,.woocommerce .upsells.products ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lami-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .header-main .container{grid-template-columns:minmax(0,145px) minmax(0,1fr) auto!important;width:calc(100% - 20px)!important;gap:7px!important}
  .site-header .brand img{width:142px!important;height:44px!important}
  .header-actions{min-width:0}
  .header-actions .service-switch{display:none!important}
  .header-consult-btn{min-width:42px!important;width:42px!important;padding:0!important}
  .header-consult-btn span{display:none}
  .header-actions .cart-trigger{display:inline-flex!important}
  .mobile-search{padding-inline:10px!important}
  .lami-wc-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .woocommerce .related.products ul.products,.woocommerce .upsells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce div.product .product_title{font-size:28px}
  .lami-single-product-wrap .product{padding:13px}
  .lami-content-panel{padding:17px}
  .lami-content-panel h1{font-size:29px}
  .lami-post-grid{grid-template-columns:1fr}
  .lami-consult-form{grid-template-columns:1fr}.lami-consult-form .full{grid-column:auto}
  .home-consult-quote{align-items:start;flex-direction:column;padding:18px}
  .quote-cta-actions{display:grid;width:100%}
  .footer-brand img{width:220px}
}
@media(max-width:430px){
  .header-main .container{grid-template-columns:minmax(0,126px) 1fr auto!important}
  .site-header .brand img{width:124px!important;height:40px!important}
  .header-consult-btn{display:none!important}
  .product-card .card-actions{grid-template-columns:1fr 1fr!important}
  .product-card .card-actions .btn{display:flex!important;font-size:9px!important;padding:0 3px!important}
}

/* v3.0.1: compatibility when an old homepage still contains [lamioffice_home]. */
.entry-content > .page-shell[data-page="home"] {
  margin: -1.25rem;
}
.home .lami-content-panel:has(.entry-content > .page-shell[data-page="home"]) {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.home .lami-content-panel:has(.entry-content > .page-shell[data-page="home"]) > .entry-header {
  display: none;
}
@media (max-width: 767px) {
  .entry-content > .page-shell[data-page="home"] { margin: -.75rem; }
}


/* V4: preserve the original V7.19.19 layout while WooCommerce owns the data. */
.site-header .brand.lami-brand-vertical{
  height:62px;
  justify-content:flex-start;
  overflow:visible;
}
.site-header .brand.lami-brand-vertical img{
  width:108px!important;
  height:62px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.header-main{height:68px!important}
.header-main .container{grid-template-columns:minmax(118px,145px) minmax(280px,1fr) auto!important}
.filter-option{display:flex!important;text-decoration:none}
.filter-option.active{color:var(--gold-2)!important;font-weight:800}
.active-filters:empty{display:none}
.filter-chip{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:12px}
.catalog-tools--compact .btn.small{white-space:nowrap}
.lami-native-cart .cart{display:grid;gap:10px;margin:0}
.lami-native-cart .quantity{display:inline-flex;margin:0}
.lami-native-cart .quantity .qty{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text)}
.lami-native-cart .single_add_to_cart_button{min-height:46px;border:0;border-radius:12px;background:var(--gold);color:#17120b;font-weight:900;padding:0 18px}
.lami-native-cart .variations{width:100%;margin-bottom:10px}
.lami-native-cart .variations th,.lami-native-cart .variations td{padding:6px 0;text-align:left}
.lami-native-cart select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:0 10px}
.lami-wc-reviews #reviews{width:100%}
.lami-wc-reviews .commentlist{list-style:none;padding:0;margin:0}
.lami-wc-reviews .comment_container{display:grid;grid-template-columns:54px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.lami-wc-reviews .avatar{width:48px;height:48px;border-radius:50%}
.lami-wc-reviews .comment-form{display:grid;gap:12px}
.lami-wc-reviews input,.lami-wc-reviews textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);padding:10px}
.lami-wc-reviews .submit{border:0;border-radius:12px;background:var(--gold);color:#17120b;font-weight:900;padding:12px 18px}
@media(max-width:1100px){
  .site-header .brand.lami-brand-vertical img{width:94px!important;height:58px!important}
  .header-main .container{grid-template-columns:100px minmax(180px,1fr) auto!important}
}
@media(max-width:720px){
  .site-header .brand.lami-brand-vertical img{width:82px!important;height:52px!important}
  .header-main{height:60px!important}
  .header-main .container{grid-template-columns:86px 1fr auto!important}
}
