/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme - Techne Studio
 Author:       XTemos / Techne
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      2.0.0
 Text Domain:  woodmart
*/

/* =============================================
   TECHNE STUDIO DESIGN SYSTEM
   Armonizat cu technefurniture.com
   Font: A2R | Accent: #ff3a12
   ============================================= */

/* --- @font-face A2R --- */
@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Thin.woff2') format('woff2');
  font-style: normal;
  font-weight: 200;
  font-display: swap;
}

@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Light.woff2') format('woff2');
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Medium.woff2') format('woff2');
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Bold.woff2') format('woff2');
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: 'A2R';
  src: url('./fonts/A2RecordGothic-Extrabold.woff2') format('woff2');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

/* --- CSS Custom Properties (Design Tokens din techne-furniture) --- */
:root {
  /* Accent Colors */
  --wd-primary-color: #ff3a12 !important;
  --techne-accent: #ff3a12;
  --techne-accent-hover: #f33100;
  --techne-accent-loading: #dc2500;
  --techne-accent-light: rgba(255, 58, 18, 0.08);

  /* Text Colors */
  --techne-text-primary: #252525;
  --techne-text-secondary: #666666;
  --techne-text-disabled: #848484;
  --techne-dark-grey: #494949;

  /* Backgrounds */
  --techne-bg-primary: #ffffff;
  --techne-bg-alt: #f7f7f7;
  --techne-bg-card: #f2f4f6;
  --techne-bg-input: #e9ecf0;

  /* Borders */
  --techne-border: #cbcbcb;
  --techne-border-light: rgba(0, 0, 0, 0.08);

  /* Status */
  --techne-success: #56e090;
  --techne-error: #ff756b;
  --techne-warning: #ffe66b;

  /* Shadows (minimal, flat per techne-furniture) */
  --techne-shadow-subtle: 0 1px 3px rgba(0, 0, 0, 0.04);
  --techne-shadow-card: 0 4px 12px rgba(0, 0, 0, 0.08);
  --techne-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.1);

  /* Border Radius (modern squared per techne-furniture) */
  --techne-radius-sm: 2px;
  --techne-radius-md: 4px;
  --techne-radius-lg: 8px;
  --techne-radius-pill: 40px;

  /* Transitions — premium easing curves */
  --techne-transition-fast: 150ms cubic-bezier(0.25, 0.1, 0.25, 1);
  --techne-transition-normal: 280ms cubic-bezier(0.25, 0.1, 0.25, 1);
  --techne-transition-slow: 500ms cubic-bezier(0.16, 1, 0.3, 1);
  --techne-transition-spring: 600ms cubic-bezier(0.34, 1.56, 0.64, 1);
  --techne-ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --techne-ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Typography */
  --techne-font: 'A2R', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Override Woodmart CSS Variables */
  --wd-text-font: 'A2R', sans-serif !important;
  --wd-title-font: 'A2R', sans-serif !important;
  --wd-entities-title-font: 'A2R', sans-serif !important;
  --wd-text-font-weight: 400 !important;
  --wd-brd-radius: 2px !important;
  --wd-form-brd-color: #cbcbcb !important;
  --wd-form-brd-color-focus: #ff3a12 !important;
  --btn-transform: none !important;
  --btn-font-weight: 500 !important;
  --wd-main-bgcolor: #ffffff !important;
}

/* --- Base Typography --- */
body {
  font-family: var(--techne-font) !important;
  color: var(--techne-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: -0.01em;
  line-height: 1.5;
  font-size: 14px;
}

h1, h2, h3, h4, h5, h6,
.title,
.wd-entities-title,
.woodmart-title-container .title,
.page-title h1,
.entry-title {
  font-family: var(--techne-font) !important;
  color: var(--techne-text-primary);
  letter-spacing: -0.02em;
  font-weight: 700;
}

h1, .page-title h1 {
  font-weight: 800;
}

/* Product titles */
.wd-entities-title a,
.product .woocommerce-loop-product__title,
.product_title,
h3.wd-entities-title {
  font-family: var(--techne-font) !important;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* --- Header: reduce container padding for more space --- */
.whb-header .container,
.whb-row .container,
.whb-general-header .container,
.whb-main-header .container {
  max-width: 100% !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

/* --- Header phone: replace email icon with phone icon, single line --- */
.whb-row a[href*="tel:"] {
  white-space: nowrap !important;
}

.whb-row li:has(a[href*="tel:"]) .wd-icon img,
.whb-row li:has(a[href*="tel:"]) .wd-icon::before {
  display: none !important;
}

.whb-row li:has(a[href*="tel:"]) .wd-icon {
  display: inline-flex !important;
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") no-repeat center !important;
  background-size: contain !important;
  margin-right: 6px;
}

/* --- Configurator Button (between logo and menu) --- */
.techne-configurator-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 16px;
  vertical-align: middle;
}

.techne-configurator-btn {
  display: inline-flex;
  align-items: center;
  background: var(--techne-accent);
  color: #ffffff !important;
  padding: 7px 16px;
  border-radius: var(--techne-radius-pill);
  font-family: var(--techne-font) !important;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: background var(--techne-transition-normal);
  white-space: nowrap;
  line-height: 1.4;
}

.techne-configurator-btn:hover {
  background: var(--techne-accent-hover);
  color: #ffffff !important;
}

/* --- Configurator Hover Preview --- */
.techne-configurator-preview {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: 380px;
  background: #ffffff;
  border-radius: var(--techne-radius-lg);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition: opacity 250ms ease, visibility 250ms ease, transform 250ms ease;
  z-index: 9999;
  pointer-events: none;
}

.techne-configurator-wrapper:hover .techne-configurator-preview {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(4px);
  pointer-events: auto;
}

.techne-configurator-preview img {
  display: block;
  width: 100%;
  height: auto;
  border-bottom: 1px solid var(--techne-border-light);
}

.techne-preview-caption {
  display: block;
  padding: 10px 14px;
  font-family: var(--techne-font) !important;
  font-size: 12px !important;
  font-weight: 500;
  color: var(--techne-accent) !important;
  text-align: center;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: color var(--techne-transition-fast);
}

.techne-preview-caption:hover {
  color: var(--techne-accent-hover) !important;
  text-decoration: underline;
}

/* --- Links --- */
a {
  color: var(--techne-text-primary);
  transition: color var(--techne-transition-fast);
}

a:hover {
  color: var(--techne-accent);
}

/* --- Buttons (flat, modern, per techne-furniture) --- */
.btn,
.button,
.wp-block-button__link,
.woocommerce .button,
a.button,
input[type="submit"],
.wd-action-btn,
.added_to_cart,
.elementor-button {
  font-family: var(--techne-font) !important;
  font-weight: 500;
  text-transform: none !important;
  letter-spacing: -0.01em;
  border-radius: var(--techne-radius-sm) !important;
  transition: all var(--techne-transition-normal) !important;
  font-size: 16px;
}

/* Primary CTA buttons */
.btn-color-primary,
.wd-action-btn.wd-style-default,
.single_add_to_cart_button,
.checkout-button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background-color: var(--techne-accent) !important;
  border-color: var(--techne-accent) !important;
  color: #ffffff !important;
  border-radius: var(--techne-radius-sm) !important;
  padding: 12px 24px !important;
  font-size: 16px;
}

.btn-color-primary:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background-color: var(--techne-accent-hover) !important;
  border-color: var(--techne-accent-hover) !important;
  transform: translateY(-1px);
  box-shadow: var(--techne-shadow-hover);
}

.btn-color-primary:active,
.single_add_to_cart_button:active {
  background-color: var(--techne-accent-loading) !important;
  transform: translateY(0);
}

/* Secondary / outline buttons */
.btn-color-default,
.woocommerce .button:not(.alt) {
  background-color: var(--techne-text-primary) !important;
  border-color: var(--techne-text-primary) !important;
  color: #ffffff !important;
}

.btn-color-default:hover,
.woocommerce .button:not(.alt):hover {
  background-color: var(--techne-dark-grey) !important;
  border-color: var(--techne-dark-grey) !important;
}

/* --- Product Cards (clean, minimal shadow per techne-furniture) --- */
.wd-product,
.product-grid-item {
  border-radius: var(--techne-radius-md) !important;
  overflow: hidden;
  transition: transform var(--techne-transition-slow), box-shadow var(--techne-transition-slow) !important;
  box-shadow: none;
}

.wd-product:hover,
.product-grid-item:hover {
  transform: translateY(-2px);
  box-shadow: var(--techne-shadow-hover);
}

/* Product image hover - subtle zoom */
.wd-product .product-image-link img,
.product-grid-item .product-image-link img {
  transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wd-product:hover .product-image-link img,
.product-grid-item:hover .product-image-link img {
  transform: scale(1.03);
}

/* --- Price Styling --- */
.price,
.woocommerce-Price-amount {
  font-family: var(--techne-font) !important;
  font-weight: 600;
  color: var(--techne-text-primary);
}

del .woocommerce-Price-amount {
  color: var(--techne-text-disabled);
  font-weight: 400;
}

ins .woocommerce-Price-amount {
  color: var(--techne-accent);
}

/* --- Header --- */
.whb-row {
  border-bottom: 1px solid var(--techne-border) !important;
}

.whb-header .navigation-style > li > a,
.wd-nav > li > a,
.wd-nav-main > li > a {
  font-family: var(--techne-font) !important;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 15px !important;
  letter-spacing: 0.03em;
}

/* --- Footer (dark, elegant) --- */
.footer-container,
.woodmart-footer,
.wd-footer,
.footer-container .section-with-footer,
footer.footer-container,
.whb-footer,
.website-wrapper .footer-container,
.color-scheme-light.footer-container,
.footer-container .elementor-section,
.footer-container .elementor-element,
.footer-container .elementor-column-wrap,
.footer-container .elementor-widget-wrap {
  background-color: #141414 !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

.footer-container *,
.woodmart-footer *,
.wd-footer *,
.whb-footer *,
footer.footer-container * {
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer-container a:hover,
.woodmart-footer a:hover,
.wd-footer a:hover,
.whb-footer a:hover {
  color: #ffffff !important;
}

.footer-container .wd-title,
.woodmart-footer .wd-title,
.wd-footer .wd-title,
.whb-footer .wd-title,
.footer-container h1,
.footer-container h2,
.footer-container h3,
.footer-container h4,
.footer-container h5,
.footer-container h6 {
  color: #ffffff !important;
  font-weight: 700;
}

/* --- WooCommerce Notices --- */
.woocommerce-notices-wrapper .woocommerce-message {
  border-top-color: var(--techne-accent) !important;
}

.woocommerce-notices-wrapper .woocommerce-error {
  border-top-color: var(--techne-error) !important;
}

.woocommerce-cart .cart_item {
  border-bottom: 1px solid var(--techne-border-light);
}

/* --- Sale Badge --- */
.onsale,
.product-label {
  background-color: var(--techne-accent) !important;
  border-radius: var(--techne-radius-sm) !important;
  font-family: var(--techne-font) !important;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* --- Form Inputs (per techne-furniture) --- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="search"],
input[type="url"],
textarea,
select,
.woocommerce-input-wrapper input {
  font-family: var(--techne-font) !important;
  border: 1px solid var(--techne-border) !important;
  border-radius: var(--techne-radius-sm) !important;
  padding: 10px 14px !important;
  transition: border-color var(--techne-transition-fast), box-shadow var(--techne-transition-fast) !important;
  color: var(--techne-text-primary);
  background-color: var(--techne-bg-primary);
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--techne-accent) !important;
  box-shadow: 0 0 0 3px var(--techne-accent-light) !important;
  outline: none !important;
}

/* --- Scrollbar (per techne-furniture) --- */
::-webkit-scrollbar {
  width: 3px;
  height: 3px;
  background-color: #e9ecf0;
}

::-webkit-scrollbar-thumb {
  border-radius: 16px;
  background: rgba(102, 102, 102, 0.4);
}

/* --- Breadcrumbs --- */
.woocommerce-breadcrumb,
.breadcrumbs {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-disabled);
  letter-spacing: 0.01em;
}

/* --- Widget Titles --- */
.widget-title,
.widgettitle {
  font-family: var(--techne-font) !important;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* --- Elementor Widgets --- */
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--techne-font) !important;
}

.elementor-widget-heading .elementor-heading-title {
  font-weight: 700;
  letter-spacing: -0.02em;
}

/* --- Menu & Navigation --- */
.wd-nav-product-cat li a,
.widget_nav_menu li a,
.menu-item a {
  font-family: var(--techne-font) !important;
  transition: color var(--techne-transition-fast);
}

/* --- Mini Cart --- */
.wd-cart-totals .amount {
  font-weight: 600;
  color: var(--techne-accent);
}

/* --- Modal / Popup Backdrop --- */
.wd-popup,
.mfp-bg {
  background: rgba(25, 25, 25, 0.6);
}

/* --- Pagination --- */
.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
  font-family: var(--techne-font) !important;
  border-radius: var(--techne-radius-sm) !important;
}

.woocommerce-pagination .page-numbers li span.current {
  background-color: var(--techne-accent) !important;
}

/* --- Tabs (Single Product) --- */
.woocommerce-tabs .tabs li a {
  font-family: var(--techne-font) !important;
  font-weight: 500;
  text-transform: none;
}

.woocommerce-tabs .tabs li.active a {
  color: var(--techne-accent);
  border-bottom-color: var(--techne-accent);
}

/* --- Star Rating --- */
.star-rating span::before {
  color: var(--techne-accent) !important;
}

/* --- Selection Color --- */
::selection {
  background-color: var(--techne-accent);
  color: #ffffff;
}

::-moz-selection {
  background-color: var(--techne-accent);
  color: #ffffff;
}

/* --- Reduced Motion Preference --- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* --- Footer Columns Equal Distribution --- */
.footer-container .elementor-row,
.footer-container .elementor-section .elementor-container,
.footer-container .e-con,
footer .elementor-row,
footer .elementor-container,
.whb-footer .elementor-row,
.whb-footer .elementor-container {
  justify-content: space-between !important;
}

.footer-container .elementor-row > .elementor-column,
.footer-container .elementor-section .elementor-container > .elementor-column,
.footer-container .e-con > .e-con,
footer .elementor-row > .elementor-column,
footer .elementor-container > .elementor-column,
.whb-footer .elementor-row > .elementor-column,
.whb-footer .elementor-container > .elementor-column {
  flex: 1 1 0 !important;
  max-width: 33.333% !important;
  width: 33.333% !important;
}

/* Override any Elementor inline column widths in footer */
.footer-container .elementor-column[data-col],
footer .elementor-column[data-col],
.color-scheme-light .elementor-column[data-col] {
  width: 33.333% !important;
}

/* --- Footer Legal Bar --- */
.techne-footer-legal {
  background-color: #0d0d0d !important;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.techne-footer-legal-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.techne-footer-company {
  font-family: var(--techne-font) !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  letter-spacing: 0.01em;
}

.techne-footer-social {
  display: flex;
  align-items: center;
  gap: 14px;
}

.techne-footer-social a {
  color: rgba(255, 255, 255, 0.5);
  transition: color var(--techne-transition-fast);
  display: inline-flex;
  align-items: center;
}

.techne-footer-social a:hover {
  color: #ffffff;
}

.techne-footer-links-legal {
  display: flex;
  align-items: center;
  gap: 20px;
}

.techne-footer-links-legal a {
  display: inline-flex;
  align-items: center;
}

.techne-footer-links-legal img {
  height: 40px;
  width: auto;
  opacity: 0.8;
  transition: opacity var(--techne-transition-fast);
}

.techne-footer-links-legal img:hover {
  opacity: 1;
}

.techne-odr-link {
  font-family: var(--techne-font) !important;
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-decoration: underline;
  transition: color var(--techne-transition-fast) !important;
}

.techne-odr-link:hover {
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .techne-footer-legal-inner {
    flex-direction: column;
    text-align: center;
  }
}

/* --- Mobile Header Optimization --- */
@media (max-width: 1024px) {
  /* Smaller logo on mobile */
  .whb-mobile-left .site-logo img,
  .whb-hidden-lg .site-logo img {
    max-width: 95px !important;
  }

  /* Mobile buttons wrapper - shrinks with viewport */
  .techne-mobile-buttons {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 1;
    min-width: 0;
    max-width: 70vw;
  }

  .techne-mobile-buttons .wd-button-wrapper,
  .techne-mobile-buttons .techne-mobile-config-btn {
    flex: 1 1 auto;
    min-width: 0;
  }

  .techne-mobile-buttons .btn,
  .techne-mobile-buttons .techne-mobile-config-btn {
    font-size: clamp(9px, 2.5vw, 12px) !important;
    padding: 0 clamp(6px, 2vw, 12px) !important;
    height: 36px;
    line-height: 1.2 !important;
    white-space: normal !important;
    overflow: hidden;
    text-overflow: ellipsis;
    text-decoration: none;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
  }

  .techne-mobile-config-btn {
    background: var(--techne-accent) !important;
    color: #fff !important;
    border-radius: 35px !important;
    font-family: var(--techne-font) !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em;
  }

  /* Compact mobile header spacing */
  .whb-mobile-left,
  .whb-mobile-right {
    padding: 6px 0 !important;
  }

  .whb-mobile-right {
    gap: 8px;
  }

  /* Hide configurator hover preview on touch */
  .techne-configurator-preview {
    display: none !important;
  }

  /* Hide wishlist and compare from mobile menu */
  .menu-item-wishlist,
  .menu-item-compare {
    display: none !important;
  }
}

/* --- Arhitecti page: semi-transparent bg on text block --- */
.elementor-element-37797027 .wd-text-block {
  background: rgba(0, 0, 0, 0.30);
  padding: 28px 32px;
  border-radius: var(--techne-radius-md);
}

.elementor-element-37797027 .wd-text-block p,
.elementor-element-37797027 .wd-text-block span {
  color: #ffffff !important;
}

/* VEZI COLABORATORII - identical to PROGRAMEAZA but black */
.elementor-element-6dab1317 .btn.btn-style-bordered {
  background-color: #000000 !important;
  border: 2px solid #000000 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  padding: 10px 20px !important;
  min-height: 36px !important;
}

.elementor-element-6dab1317 .btn.btn-style-bordered:hover {
  background-color: #222222 !important;
  border-color: #222222 !important;
  color: #ffffff !important;
}

/* --- Hide Woodmart page title bar on Elementor pages (redundant with Elementor hero) --- */
.page-title-default {
  display: none !important;
}

/* --- Contact page: hide broken Elementor hero; folosim hero-ul injectat .techne-contact-hero --- */
.page-id-8632 .elementor-element-6fc50ae {
  display: none !important;
}

.page-id-8632 .page-title-default {
  display: none !important;
}

/* --- Hide sidebar on all pages/posts (full-width content) --- */
.main-page-wrapper .sidebar,
.wd-sidebar,
aside.widget-area,
.sidebar-container {
  display: none !important;
}

.main-page-wrapper .content-area,
.site-content .content-area,
.main-page-wrapper .site-content,
.col-lg-9 {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* Hide search widget everywhere */
.widget_search,
.wd-widget-search,
.searchform,
.wd-search-form:not(.whb-header .wd-search-form) {
  display: none !important;
}


/* --- Force A2R font on ALL Elementor elements (override Montserrat/Google Fonts) --- */
.elementor-widget-text-editor,
.elementor-widget-text-editor *,
.elementor-widget-heading .elementor-heading-title,
.elementor-element *,
[style*="Montserrat"],
[style*="montserrat"] {
  font-family: var(--techne-font) !important;
}

/* =============================================
   CRO — Hero, Trust Signals, Form, Popup, Sticky CTA
   ============================================= */

/* --- Section Title (shared) --- */
.techne-section-title {
  font-family: var(--techne-font) !important;
  font-weight: 800;
  font-size: clamp(24px, 4vw, 36px);
  text-align: center;
  color: var(--techne-text-primary);
  margin-bottom: 12px;
  letter-spacing: -0.02em;
}

/* --- Sticky Header --- */
.whb-sticky-row,
.whb-sticked {
  position: sticky !important;
  top: 0;
  z-index: 999;
  background: #ffffff;
  transition: box-shadow var(--techne-transition-normal);
}

.whb-sticked {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* --- Hero Section (compact CTA band — sliderul de deasupra e hero-ul vizual) --- */
.techne-hero {
  position: relative;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 88px 20px 72px;
  background: #141414;
  overflow: hidden;
}

.techne-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.25) 100%);
  z-index: 1;
}

.techne-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 40px 20px;
  max-width: 800px;
}

.techne-hero-title {
  font-family: var(--techne-font) !important;
  font-weight: 800;
  font-size: clamp(28px, 5vw, 52px);
  color: #ffffff !important;
  line-height: 1.15;
  margin-bottom: 20px;
  letter-spacing: -0.03em;
}

.techne-hero-title span {
  font-weight: 400;
  opacity: 0.9;
}

.techne-hero-subtitle {
  font-family: var(--techne-font) !important;
  font-size: clamp(16px, 2.5vw, 20px);
  color: rgba(255, 255, 255, 0.85) !important;
  margin-bottom: 36px;
  font-weight: 400;
  letter-spacing: -0.01em;
}

.techne-hero-ctas {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
}

.techne-cta-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--techne-accent);
  color: #ffffff !important;
  padding: 16px 36px;
  border-radius: var(--techne-radius-sm);
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all var(--techne-transition-normal);
  letter-spacing: -0.01em;
}

.techne-cta-primary:hover {
  background: var(--techne-accent-hover);
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(255, 58, 18, 0.3);
}

.techne-cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #ffffff !important;
  padding: 16px 36px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--techne-radius-sm);
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: all var(--techne-transition-normal);
  letter-spacing: -0.01em;
}

.techne-cta-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #ffffff;
  color: #ffffff !important;
}

/* AI SEO definition block — discret, nu se suprapune peste conținut */
.techne-hero-definition {
  position: static;
  margin: 40px auto 0;
  z-index: 2;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.28);
  line-height: 1.5;
  max-width: 640px;
  text-align: center;
}

/* --- Trust Bar --- */
.techne-trust-bar {
  background: var(--techne-bg-alt);
  padding: 20px 0;
  border-bottom: 1px solid var(--techne-border-light);
}

.techne-trust-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
}

.techne-trust-label {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-disabled);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.techne-trust-logos {
  display: flex;
  align-items: center;
  gap: 32px;
}

.techne-partner-logo {
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 700;
  color: var(--techne-text-disabled);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.6;
  transition: opacity var(--techne-transition-fast);
}

.techne-partner-logo:hover {
  opacity: 1;
}

/* --- Guarantees --- */
.techne-guarantees {
  padding: 60px 20px;
  background: var(--techne-bg-primary);
}

.techne-guarantees-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.techne-guarantee-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
}

.techne-guarantee-item svg {
  color: var(--techne-accent);
  margin-bottom: 4px;
}

.techne-guarantee-item strong {
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 700;
  color: var(--techne-text-primary);
}

.techne-guarantee-item span {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-secondary);
}

/* --- Testimonials --- */
.techne-testimonials {
  padding: 60px 20px 80px;
  background: var(--techne-bg-alt);
}

.techne-testimonials-grid {
  max-width: 1200px;
  margin: 32px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.techne-testimonial {
  background: var(--techne-bg-primary);
  padding: 28px;
  border-radius: var(--techne-radius-md);
  box-shadow: var(--techne-shadow-subtle);
  transition: box-shadow var(--techne-transition-slow);
}

.techne-testimonial:hover {
  box-shadow: var(--techne-shadow-hover);
}

.techne-testimonial p {
  font-family: var(--techne-font) !important;
  font-size: 14px;
  color: var(--techne-text-secondary);
  line-height: 1.6;
  font-style: italic;
  margin-bottom: 16px;
}

.techne-testimonial-author strong {
  display: block;
  font-family: var(--techne-font) !important;
  font-size: 14px;
  color: var(--techne-text-primary);
}

.techne-testimonial-author span {
  font-family: var(--techne-font) !important;
  font-size: 12px;
  color: var(--techne-text-disabled);
}

/* --- Contact Form Section --- */
.techne-form-section {
  padding: 60px 20px 80px;
  background: var(--techne-bg-primary);
  max-width: 700px;
  margin: 0 auto;
}

.techne-form-subtitle {
  text-align: center;
  font-family: var(--techne-font) !important;
  font-size: 16px;
  color: var(--techne-text-secondary);
  margin-bottom: 32px;
}

.techne-lead-form {
  max-width: 600px;
  margin: 0 auto;
}

.techne-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}

.techne-form-field label {
  display: block;
  font-family: var(--techne-font) !important;
  font-size: 13px;
  font-weight: 500;
  color: var(--techne-text-primary);
  margin-bottom: 6px;
}

.techne-form-field label .required {
  color: var(--techne-accent);
}

.techne-form-field input,
.techne-form-field select {
  width: 100%;
  font-size: 15px !important;
  padding: 12px 14px !important;
}

.techne-form-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
}

.techne-form-expand-btn {
  background: none;
  border: none;
  font-family: var(--techne-font) !important;
  font-size: 14px;
  color: var(--techne-accent);
  cursor: pointer;
  padding: 8px 0;
  font-weight: 500;
  transition: color var(--techne-transition-fast);
}

.techne-form-expand-btn:hover {
  color: var(--techne-accent-hover);
}

.techne-form-submit {
  flex-shrink: 0;
}

.techne-form-feedback {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: var(--techne-radius-sm);
  font-family: var(--techne-font) !important;
  font-size: 14px;
  text-align: center;
}

.techne-form-feedback-success {
  background: rgba(86, 224, 144, 0.1);
  color: #2d8a56;
  border: 1px solid rgba(86, 224, 144, 0.3);
}

.techne-form-feedback-error {
  background: rgba(255, 117, 107, 0.1);
  color: #c44040;
  border: 1px solid rgba(255, 117, 107, 0.3);
}

/* --- Exit-Intent Popup --- */
.techne-exit-popup {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.techne-exit-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
}

.techne-exit-popup-content {
  position: relative;
  background: #ffffff;
  padding: 40px;
  border-radius: var(--techne-radius-lg);
  max-width: 420px;
  width: 100%;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
  text-align: center;
}

.techne-exit-popup-close {
  position: absolute;
  top: 12px;
  right: 16px;
  background: none;
  border: none;
  font-size: 28px;
  color: var(--techne-text-disabled);
  cursor: pointer;
  line-height: 1;
  padding: 4px;
  transition: color var(--techne-transition-fast);
}

.techne-exit-popup-close:hover {
  color: var(--techne-text-primary);
}

.techne-exit-popup-content h3 {
  font-family: var(--techne-font) !important;
  font-weight: 700;
  font-size: 22px;
  color: var(--techne-text-primary);
  margin-bottom: 8px;
}

.techne-exit-popup-content p {
  font-family: var(--techne-font) !important;
  font-size: 15px;
  color: var(--techne-text-secondary);
  margin-bottom: 24px;
}

.techne-exit-form input {
  width: 100%;
  margin-bottom: 12px;
  font-size: 15px !important;
  padding: 12px 14px !important;
}

.techne-exit-form .techne-cta-primary {
  width: 100%;
  padding: 14px 24px;
}

.techne-exit-phone-fallback {
  margin-top: 16px;
  font-family: var(--techne-font) !important;
  font-size: 14px;
  color: var(--techne-text-secondary);
}

.techne-exit-phone-fallback a {
  color: var(--techne-accent) !important;
  text-decoration: none;
}

.techne-exit-feedback {
  margin-top: 12px;
}

/* --- Mobile Sticky CTA Bar --- */
.techne-mobile-sticky-cta {
  display: none;
}

@media (max-width: 768px) {
  .techne-mobile-sticky-cta {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    background: #ffffff;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.12);
    padding: 8px 12px;
    padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    gap: 8px;
  }

  .techne-sticky-btn {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    border-radius: var(--techne-radius-sm);
    font-family: var(--techne-font) !important;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    min-height: 48px;
    text-align: center;
  }

  .techne-sticky-btn-call {
    background: var(--techne-text-primary);
    color: #ffffff !important;
  }

  .techne-sticky-btn-book {
    background: var(--techne-accent);
    color: #ffffff !important;
  }

  /* Add bottom padding to body so content doesn't hide behind sticky bar */
  body {
    padding-bottom: 72px;
  }

  /* Responsive adjustments */
  .techne-guarantees-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }

  .techne-testimonials-grid {
    grid-template-columns: 1fr;
  }

  .techne-form-row {
    grid-template-columns: 1fr;
  }

  .techne-form-actions {
    flex-direction: column;
  }

  .techne-hero {
    min-height: 0;
    padding: 56px 20px 48px;
  }

  .techne-hero-ctas {
    flex-direction: column;
    align-items: center;
  }

  .techne-cta-primary,
  .techne-cta-secondary {
    width: 100%;
    max-width: 320px;
    text-align: center;
  }

  .techne-exit-popup-content {
    padding: 28px 20px;
  }

  .techne-trust-logos {
    gap: 20px;
  }

  .techne-hero-definition {
    display: none;
  }
}

/* --- Category Cards (hover zoom) --- */
.wd-cat,
.category-grid-item,
.product-category {
  overflow: hidden;
  border-radius: var(--techne-radius-md);
}

.wd-cat img,
.category-grid-item img,
.product-category img {
  aspect-ratio: 4/3;
  object-fit: cover;
  transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wd-cat:hover img,
.category-grid-item:hover img,
.product-category:hover img {
  transform: scale(1.05);
}

.wd-cat .wd-entities-title,
.category-grid-item .wd-entities-title,
.product-category h2 {
  background: linear-gradient(transparent 0%, rgba(0,0,0,0.7) 100%);
  padding: 20px 16px 12px;
  color: #ffffff !important;
}

/* --- Footer Redesign (4 columns) --- */
@media (min-width: 769px) {
  .footer-container .elementor-row > .elementor-column,
  .footer-container .elementor-section .elementor-container > .elementor-column,
  .footer-container .e-con > .e-con,
  footer .elementor-row > .elementor-column,
  footer .elementor-container > .elementor-column {
    flex: 1 1 0 !important;
    max-width: 25% !important;
    width: 25% !important;
  }
}

/* Footer ANPC/ODR badges */
.techne-footer-badges {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
}

.techne-footer-badges a {
  display: inline-flex;
}

.techne-footer-badges img {
  height: 36px;
  width: auto;
  opacity: 0.7;
  transition: opacity var(--techne-transition-fast);
}

.techne-footer-badges img:hover {
  opacity: 1;
}

/* =============================================
   PREMIUM DESIGN — Scroll Animations, Micro-interactions, Polish
   ============================================= */

/* --- Scroll Reveal Animations (IntersectionObserver triggered) --- */
.techne-reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.7s var(--techne-ease-out-expo),
              transform 0.7s var(--techne-ease-out-expo);
}

.techne-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.techne-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s var(--techne-ease-out-expo),
              transform 0.7s var(--techne-ease-out-expo);
}

.techne-reveal-left.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.techne-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s var(--techne-ease-out-expo),
              transform 0.7s var(--techne-ease-out-expo);
}

.techne-reveal-right.is-visible {
  opacity: 1;
  transform: translateX(0);
}

.techne-reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.6s var(--techne-ease-out-expo),
              transform 0.6s var(--techne-ease-out-expo);
}

.techne-reveal-scale.is-visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger children animation */
.techne-stagger > * {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s var(--techne-ease-out-expo),
              transform 0.5s var(--techne-ease-out-expo);
}

.techne-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; opacity: 1; transform: translateY(0); }
.techne-stagger.is-visible > *:nth-child(2) { transition-delay: 80ms; opacity: 1; transform: translateY(0); }
.techne-stagger.is-visible > *:nth-child(3) { transition-delay: 160ms; opacity: 1; transform: translateY(0); }
.techne-stagger.is-visible > *:nth-child(4) { transition-delay: 240ms; opacity: 1; transform: translateY(0); }
.techne-stagger.is-visible > *:nth-child(5) { transition-delay: 320ms; opacity: 1; transform: translateY(0); }
.techne-stagger.is-visible > *:nth-child(6) { transition-delay: 400ms; opacity: 1; transform: translateY(0); }

/* --- Premium Section Spacing --- */
.elementor-section,
.vc_section,
.wpb_row {
  overflow: hidden;
}

.elementor-section:not(.elementor-section-full_width) > .elementor-container {
  padding-top: 20px;
  padding-bottom: 20px;
}

/* --- Elevated Image Treatment --- */
.elementor-widget-image img,
.wd-product .product-image-link img,
.product-grid-item img,
.wd-gallery-item img,
.woocommerce-product-gallery img {
  transition: transform 600ms var(--techne-ease-out-expo),
              filter 600ms var(--techne-ease-out-expo) !important;
}

.elementor-widget-image:hover img,
.wd-gallery-item:hover img {
  transform: scale(1.03);
}

/* Premium image reveal on gallery items */
.wd-gallery-item {
  overflow: hidden;
  border-radius: var(--techne-radius-md);
}

/* --- Premium Button Micro-interactions --- */
.techne-cta-primary,
.btn-color-primary,
.elementor-button,
.single_add_to_cart_button,
.checkout-button {
  position: relative;
  overflow: hidden;
  transition: all 350ms var(--techne-ease-out-expo) !important;
}

/* Shine sweep effect on hover */
.techne-cta-primary::after,
.btn-color-primary::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.15) 50%,
    transparent 100%
  );
  transition: left 500ms var(--techne-ease-out-expo);
  pointer-events: none;
}

.techne-cta-primary:hover::after,
.btn-color-primary:hover::after {
  left: 120%;
}

/* --- Premium Card Hover Effects --- */
.wd-product,
.product-grid-item,
.wd-cat,
.category-grid-item,
.product-category {
  transition: transform 500ms var(--techne-ease-out-expo),
              box-shadow 500ms var(--techne-ease-out-expo) !important;
}

.wd-product:hover,
.product-grid-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.10);
}

/* Category card premium hover */
.wd-cat:hover,
.category-grid-item:hover,
.product-category:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.wd-cat:hover img,
.category-grid-item:hover img,
.product-category:hover img {
  transform: scale(1.06);
}

/* --- Smooth Parallax-like Hero --- */
.techne-hero,
.techne-city-hero {
  background-attachment: fixed;
}

@media (max-width: 768px) {
  .techne-hero,
  .techne-city-hero {
    background-attachment: scroll;
  }
}

/* Hero content entrance */
.techne-hero-content,
.techne-city-hero-content {
  animation: heroEntrance 1s var(--techne-ease-out-expo) both;
}

@keyframes heroEntrance {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.techne-hero-title,
.techne-city-hero-title {
  animation: heroEntrance 1s var(--techne-ease-out-expo) 0.1s both;
}

.techne-hero-subtitle,
.techne-city-hero-subtitle {
  animation: heroEntrance 1s var(--techne-ease-out-expo) 0.25s both;
}

.techne-hero-ctas {
  animation: heroEntrance 0.8s var(--techne-ease-out-expo) 0.4s both;
}

/* --- Premium Heading Underline Accent --- */
.techne-section-title,
.elementor-heading-title {
  position: relative;
}

.techne-section-title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background: var(--techne-accent);
  margin: 16px auto 0;
  border-radius: 2px;
  transition: width 400ms var(--techne-ease-out-expo);
}

/* --- Smooth Scroll --- */
html {
  scroll-behavior: smooth;
}

/* --- Premium Testimonial Cards --- */
.techne-testimonial,
.woodmart-testimonial {
  transition: transform 400ms var(--techne-ease-out-expo),
              box-shadow 400ms var(--techne-ease-out-expo);
}

.techne-testimonial:hover,
.woodmart-testimonial:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

/* --- Premium Form Focus Effects --- */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--techne-accent) !important;
  box-shadow: 0 0 0 3px var(--techne-accent-light),
              0 2px 8px rgba(255, 58, 18, 0.08) !important;
  outline: none !important;
  transition: all 300ms var(--techne-ease-out-expo) !important;
}

/* Floating label effect on form fields */
.techne-form-field {
  position: relative;
}

.techne-form-field label {
  transition: all 250ms var(--techne-ease-out-expo);
}

/* --- Link Underline Animation --- */
.elementor-widget-text-editor a:not(.btn):not(.button),
.entry-content a:not(.btn):not(.button) {
  text-decoration: none;
  background-image: linear-gradient(var(--techne-accent), var(--techne-accent));
  background-size: 0% 2px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: background-size 350ms var(--techne-ease-out-expo);
  padding-bottom: 1px;
}

.elementor-widget-text-editor a:not(.btn):not(.button):hover,
.entry-content a:not(.btn):not(.button):hover {
  background-size: 100% 2px;
  color: var(--techne-accent);
}

/* --- Premium Loading Skeleton (for lazy images) --- */
img[loading="lazy"] {
  background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s ease-in-out infinite;
}

img[loading="lazy"][src] {
  animation: none;
  background: none;
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* --- Top Bar Premium Refinement --- */
.whb-top-bar,
.whb-row:first-child {
  background: #141414 !important;
  border-bottom: none !important;
}

.whb-top-bar *,
.whb-row:first-child * {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 12px !important;
  letter-spacing: 0.03em;
}

.whb-top-bar a:hover,
.whb-row:first-child a:hover {
  color: #ffffff !important;
}

/* Remove promotional banner feel */
.whb-top-bar .btn,
.whb-row:first-child .btn {
  font-size: 12px !important;
  padding: 4px 14px !important;
  border-radius: var(--techne-radius-pill) !important;
  background: var(--techne-accent) !important;
  border: none !important;
  letter-spacing: 0.02em;
}

/* --- Elementor Sections — Premium Spacing & Dividers --- */
.elementor-section + .elementor-section {
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}

/* Alternate section backgrounds for visual rhythm */
.elementor-section:nth-of-type(even):not([data-settings*="background"]) {
  background: var(--techne-bg-alt);
}

/* --- Gallery Grid Premium Treatment --- */
.wd-images-gallery .gallery-item,
.elementor-image-gallery .gallery-item {
  overflow: hidden;
  border-radius: var(--techne-radius-md);
  transition: transform 500ms var(--techne-ease-out-expo);
}

.wd-images-gallery .gallery-item:hover,
.elementor-image-gallery .gallery-item:hover {
  transform: scale(1.02);
}

.wd-images-gallery .gallery-item img,
.elementor-image-gallery .gallery-item img {
  transition: transform 600ms var(--techne-ease-out-expo);
}

.wd-images-gallery .gallery-item:hover img,
.elementor-image-gallery .gallery-item:hover img {
  transform: scale(1.05);
}

/* --- Breadcrumbs Premium --- */
.woocommerce-breadcrumb,
.breadcrumbs {
  opacity: 0.6;
  transition: opacity var(--techne-transition-fast);
}

.woocommerce-breadcrumb:hover,
.breadcrumbs:hover {
  opacity: 1;
}

/* --- Page Title Premium (category/archive pages) --- */
.page-title-default:not([style*="display: none"]) {
  background: #141414 !important;
  padding: 80px 0 60px !important;
  text-align: center;
}

.page-title-default h1 {
  color: #ffffff !important;
  font-weight: 800;
  font-size: clamp(28px, 5vw, 44px);
  letter-spacing: -0.03em;
}

.page-title-default .breadcrumbs,
.page-title-default .woocommerce-breadcrumb {
  opacity: 0.5;
}

.page-title-default .breadcrumbs *,
.page-title-default .woocommerce-breadcrumb * {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* --- Reduced Motion --- */
@media (prefers-reduced-motion: reduce) {
  .techne-reveal,
  .techne-reveal-left,
  .techne-reveal-right,
  .techne-reveal-scale,
  .techne-stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .techne-hero-content,
  .techne-city-hero-content,
  .techne-hero-title,
  .techne-city-hero-title,
  .techne-hero-subtitle,
  .techne-city-hero-subtitle,
  .techne-hero-ctas {
    animation: none !important;
  }

  .techne-cta-primary::after,
  .btn-color-primary::after {
    display: none;
  }
}

/* =============================================
   GEO-TARGETED CITY LANDING PAGES
   ============================================= */

.techne-city-page {
  --city-max-width: 1200px;
}

.techne-city-container {
  max-width: var(--city-max-width);
  margin: 0 auto;
  padding: 0 20px;
}

/* --- City Hero --- */
.techne-city-hero {
  position: relative;
  width: 100%;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #141414 url('') center/cover no-repeat;
  overflow: hidden;
}

.techne-city-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.30) 100%);
  z-index: 1;
}

.techne-city-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 60px 20px;
  max-width: 800px;
}

.techne-city-hero-title {
  font-family: var(--techne-font) !important;
  font-weight: 800;
  font-size: clamp(28px, 5vw, 48px);
  color: #ffffff !important;
  line-height: 1.15;
  margin: 0 0 16px;
  letter-spacing: -0.03em;
}

.techne-city-hero-subtitle {
  font-family: var(--techne-font) !important;
  font-size: clamp(16px, 2.5vw, 20px);
  color: rgba(255, 255, 255, 0.85) !important;
  margin: 0 0 32px;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* --- Trust Bar Items --- */
.techne-trust-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.techne-trust-item strong {
  font-family: var(--techne-font) !important;
  font-size: 18px;
  font-weight: 800;
  color: var(--techne-accent);
}

.techne-trust-item span {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-secondary);
  font-weight: 400;
}

.techne-trust-divider {
  width: 1px;
  height: 24px;
  background: var(--techne-border);
}

/* --- City Intro --- */
.techne-city-intro {
  padding: 48px 20px 40px;
  background: var(--techne-bg-primary);
}

.techne-city-intro .techne-city-container {
  max-width: 800px;
}

.techne-city-intro-text {
  font-family: var(--techne-font) !important;
  font-size: 17px;
  line-height: 1.7;
  color: var(--techne-text-secondary);
  margin: 0 0 20px;
  text-align: center;
}

.techne-city-delivery-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: var(--techne-font) !important;
  font-size: 14px;
  font-weight: 600;
  color: var(--techne-accent);
  background: var(--techne-accent-light);
  padding: 10px 20px;
  border-radius: var(--techne-radius-pill);
  margin: 0 auto;
  width: fit-content;
}

.techne-city-delivery-badge svg {
  flex-shrink: 0;
  color: var(--techne-accent);
}

/* --- Services Grid --- */
.techne-city-services {
  padding: 60px 20px;
  background: var(--techne-bg-alt);
}

.techne-services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 32px;
}

.techne-service-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--techne-bg-primary);
  padding: 28px 20px;
  border-radius: var(--techne-radius-md);
  border: 1px solid var(--techne-border-light);
  text-decoration: none;
  transition: all var(--techne-transition-slow);
  position: relative;
}

.techne-service-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--techne-shadow-hover);
  border-color: var(--techne-accent);
}

.techne-service-icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--techne-accent-light);
  border-radius: var(--techne-radius-lg);
  margin-bottom: 12px;
  color: var(--techne-accent);
}

.techne-service-card h3 {
  font-family: var(--techne-font) !important;
  font-size: 15px;
  font-weight: 600;
  color: var(--techne-text-primary);
  margin: 0;
  letter-spacing: -0.01em;
}

.techne-service-arrow {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 18px;
  color: var(--techne-text-disabled);
  transition: color var(--techne-transition-fast), transform var(--techne-transition-fast);
}

.techne-service-card:hover .techne-service-arrow {
  color: var(--techne-accent);
  transform: translateX(3px);
}

/* --- Why Techne (city page) --- */
.techne-city-why {
  padding: 60px 20px;
  background: var(--techne-bg-primary);
}

.techne-city-why .techne-guarantees-inner {
  margin-top: 32px;
}

.techne-city-why .techne-guarantee-item svg {
  color: var(--techne-accent);
}

/* --- Process Timeline --- */
.techne-city-process {
  padding: 60px 20px;
  background: var(--techne-bg-alt);
}

.techne-timeline {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
  margin-top: 40px;
}

.techne-timeline-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 1;
  max-width: 180px;
}

.techne-timeline-nr {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--techne-accent);
  color: #ffffff;
  border-radius: 50%;
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 800;
  margin-bottom: 12px;
}

.techne-timeline-step h3 {
  font-family: var(--techne-font) !important;
  font-size: 15px;
  font-weight: 700;
  color: var(--techne-text-primary);
  margin: 0 0 4px;
}

.techne-timeline-step p {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-secondary);
  margin: 0;
  line-height: 1.4;
}

.techne-timeline-connector {
  width: 40px;
  height: 2px;
  background: var(--techne-border);
  margin-top: 23px;
  flex-shrink: 0;
}

/* --- FAQ --- */
.techne-city-faq {
  padding: 60px 20px;
  background: var(--techne-bg-primary);
}

.techne-faq-list {
  max-width: 800px;
  margin: 32px auto 0;
}

.techne-faq-item {
  border-bottom: 1px solid var(--techne-border-light);
}

.techne-faq-question {
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 600;
  color: var(--techne-text-primary);
  padding: 18px 0;
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: color var(--techne-transition-fast);
}

.techne-faq-question::-webkit-details-marker {
  display: none;
}

.techne-faq-question::after {
  content: '+';
  font-size: 22px;
  font-weight: 300;
  color: var(--techne-text-disabled);
  transition: transform var(--techne-transition-normal);
  flex-shrink: 0;
  margin-left: 16px;
}

.techne-faq-item[open] .techne-faq-question::after {
  content: '−';
  color: var(--techne-accent);
}

.techne-faq-item[open] .techne-faq-question {
  color: var(--techne-accent);
}

.techne-faq-answer {
  padding: 0 0 18px;
}

.techne-faq-answer p {
  font-family: var(--techne-font) !important;
  font-size: 15px;
  color: var(--techne-text-secondary);
  line-height: 1.6;
  margin: 0;
}

/* --- City CTA Section --- */
.techne-city-cta {
  padding: 60px 20px 80px;
  background: var(--techne-bg-alt);
}

.techne-city-cta .techne-lead-form {
  max-width: 600px;
  margin: 0 auto;
}

.techne-city-cta textarea {
  font-family: var(--techne-font) !important;
  border: 1px solid var(--techne-border) !important;
  border-radius: var(--techne-radius-sm) !important;
  padding: 12px 14px !important;
  width: 100%;
  font-size: 15px;
  resize: vertical;
  transition: border-color var(--techne-transition-fast), box-shadow var(--techne-transition-fast);
}

.techne-city-cta textarea:focus {
  border-color: var(--techne-accent) !important;
  box-shadow: 0 0 0 3px var(--techne-accent-light) !important;
  outline: none;
}

/* --- Mobile Responsive --- */
@media (max-width: 768px) {
  .techne-city-hero {
    min-height: 60vh;
  }

  .techne-city-hero-content {
    padding: 40px 16px;
  }

  .techne-services-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .techne-service-card {
    padding: 20px 12px;
  }

  .techne-timeline {
    flex-direction: column;
    align-items: center;
    gap: 0;
  }

  .techne-timeline-step {
    max-width: 280px;
  }

  .techne-timeline-connector {
    width: 2px;
    height: 24px;
    margin: 0;
  }

  .techne-city-why .techne-guarantees-inner {
    grid-template-columns: repeat(2, 1fr);
  }

  .techne-trust-bar-inner {
    flex-direction: column;
    gap: 12px;
    text-align: center;
  }

  .techne-trust-item {
    flex-direction: column;
    align-items: center;
    gap: 2px;
  }

  .techne-trust-divider {
    display: none;
  }

  .techne-form-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .techne-services-grid {
    grid-template-columns: 1fr;
  }

  .techne-city-why .techne-guarantees-inner {
    grid-template-columns: 1fr;
  }
}

/* =============================================
   SLIDER FIX — remove white flash before image loads
   ============================================= */
.wd-slide .wd-slide-bg {
  background-color: transparent !important;
}

/* Hide empty Elementor section (395406f) */
.elementor-element-395406f {
  display: none !important;
}

/* Remove sticky header padding gap on homepage */
body.home .whb-header,
body.page-template-default.home .whb-header {
  padding-top: 0 !important;
}

/* Hide empty header-bottom row */
.whb-header-bottom.whb-hidden-desktop.whb-hidden-mobile {
  display: none;
}

/* =============================================
   PREMIUM CATEGORY ICONS
   ============================================= */

/* SVG category icons - served via PHP replacement */
img[src$=".svg"] {
  transition: all 0.4s var(--techne-ease-out-expo);
}

img[src*="icon-bucatarie"],
img[src*="icon-dressing"],
img[src*="icon-living"],
img[src*="icon-office"],
img[src*="icon-horeca"] {
  width: 92px !important;
  height: 92px !important;
  display: block;
  margin: 0 auto 8px;
  transition: all 0.4s var(--techne-ease-out-expo);
}

img[src*="icon-bucatarie"]:hover,
img[src*="icon-dressing"]:hover,
img[src*="icon-living"]:hover,
img[src*="icon-office"]:hover,
img[src*="icon-horeca"]:hover {
  transform: translateY(-3px) scale(1.08);
}

/* =============================================
   UI/UX REFRESH 2026-07 — LCP, contrast, contact,
   parteneri, testimoniale, formular, a11y
   ============================================= */

/* --- Slider: fără ecran alb la încărcare (skeleton + înălțime rezervată) --- */
.wd-slider-wrapper,
.wd-slider {
  background: #ececec;
}

body.home .wd-slider-wrapper {
  min-height: clamp(320px, 38vw, 560px);
}

/* --- Buton configurator: spațiu vizibil înainte de TÉCHNE --- */
.techne-configurator-btn strong {
  margin-left: 0.4em;
  font-weight: 800;
}

/* --- Parteneri: un singur limbaj vizual — grayscale, color la hover --- */
img.attachment-140x100 {
  filter: grayscale(1);
  opacity: 0.55;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

img.attachment-140x100:hover {
  filter: grayscale(0);
  opacity: 1;
}

/* --- Secțiunea „despre noi" (#3B3B3B): lizibilitate --- */
.elementor-element-9b8e9ae .wd-text-block {
  font-size: 15px !important;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88) !important;
}

.elementor-element-9b8e9ae .wd-text-block p {
  color: rgba(255, 255, 255, 0.88) !important;
}

img.techne-about-photo {
  width: 100%;
  height: auto;
  border-radius: var(--techne-radius-lg);
  object-fit: cover;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

/* --- „Cum comanzi?": carduri îngrijite în loc de imagini plate --- */
img[src*="elementor/thumbs/"] {
  border-radius: var(--techne-radius-lg);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

/* --- Testimoniale: rating vizual --- */
.techne-stars {
  display: block;
  color: var(--techne-accent);
  font-size: 15px;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

/* --- Formular: GDPR --- */
.techne-form-gdpr {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  margin: 18px 0 0;
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-secondary);
  line-height: 1.5;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

.techne-form-gdpr input[type="checkbox"] {
  width: 16px !important;
  height: 16px;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  accent-color: var(--techne-accent);
}

.techne-form-gdpr span {
  display: block;
}

.techne-form-gdpr a {
  color: var(--techne-text-primary);
  text-decoration: underline;
}

.techne-form-gdpr a:hover {
  color: var(--techne-accent);
}

.techne-exit-gdpr {
  margin-top: 14px;
  font-family: var(--techne-font) !important;
  font-size: 11px !important;
  color: var(--techne-text-disabled) !important;
}

.techne-exit-gdpr a {
  color: var(--techne-text-secondary);
  text-decoration: underline;
}

/* --- Newsletter (footer): butonul nu mai arată dezactivat --- */
.footer-container .elementor-form .elementor-button,
.footer-container form.elementor-form button[type="submit"] {
  background-color: var(--techne-accent) !important;
  border-color: var(--techne-accent) !important;
  color: #ffffff !important;
  font-weight: 600;
  transition: background-color var(--techne-transition-normal) !important;
}

.footer-container .elementor-form .elementor-button:hover,
.footer-container form.elementor-form button[type="submit"]:hover {
  background-color: var(--techne-accent-hover) !important;
  border-color: var(--techne-accent-hover) !important;
}

.footer-container .elementor-form .elementor-button .elementor-button-text {
  color: #ffffff !important;
}

.footer-container .elementor-form input[type="email"] {
  background: #ffffff !important;
  color: var(--techne-text-primary) !important;
  border: none !important;
}

/* --- Pagina Contact --- */
.techne-contact-hero {
  background: #141414;
  padding: 72px 20px 56px;
  text-align: center;
}

.techne-contact-hero h1 {
  font-family: var(--techne-font) !important;
  font-weight: 800;
  font-size: clamp(30px, 5vw, 46px);
  color: #ffffff !important;
  letter-spacing: -0.03em;
  margin: 0 0 10px;
}

.techne-contact-hero p {
  font-family: var(--techne-font) !important;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.75) !important;
  margin: 0 auto;
  max-width: 560px;
}

/* Reactivăm secțiunea cu date de contact + hartă (era wd-section-disabled) */
.page-id-8632 .elementor-element-533ed28d.wd-section-disabled {
  display: block !important;
  padding: 64px 20px 48px;
}

.page-id-8632 .elementor-element-533ed28d .title,
.page-id-8632 .elementor-element-533ed28d .wd-title-color-primary .title {
  color: var(--techne-text-primary) !important;
  font-size: clamp(22px, 3vw, 30px) !important;
}

.page-id-8632 .elementor-element-533ed28d .title-after_title p {
  color: var(--techne-text-secondary) !important;
  font-size: 15px !important;
}

.page-id-8632 .elementor-element-533ed28d .wd-list .list-content {
  color: var(--techne-text-primary) !important;
  font-size: 15px !important;
  line-height: 1.6;
}

.page-id-8632 .elementor-element-533ed28d .wd-list li {
  margin-bottom: 10px;
}

.page-id-8632 .elementor-element-533ed28d iframe {
  border-radius: var(--techne-radius-lg);
  box-shadow: var(--techne-shadow-card);
  display: block;
}

@media (max-width: 768px) {
  .page-id-8632 .elementor-element-533ed28d {
    padding: 40px 16px 24px;
  }

  .techne-contact-hero {
    padding: 48px 16px 40px;
  }
}

/* --- Accesibilitate: focus vizibil pe navigare cu tastatura --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--techne-accent) !important;
  outline-offset: 2px;
}

/* --- Iconițe categorii: titluri clare sub iconițe --- */
img[src*="icon-bucatarie"] + *,
img[src*="icon-dressing"] + * {
  color: var(--techne-text-primary);
}

.elementor-widget-wd_title .title.wd-fontsize-l {
  letter-spacing: -0.02em;
}

/* --- Homepage: fără bandă albă între header și slider --- */
body.home .main-page-wrapper {
  padding-top: 0 !important;
}

/* --- Pre-footer: iconițele info-box în accentul brandului --- */
.footer-container .info-box-icon svg,
.footer-container .wd-info-box svg,
.footer-container .info-box-icon svg path {
  fill: var(--techne-accent) !important;
  color: var(--techne-accent) !important;
}

/* =============================================
   DESIGN 2026 — glass header, hero scrim, steps
   tipografic, video fabrică, carduri moderne
   ============================================= */

/* --- Ascundem "Cum comanzi?" original (poze stock cu cifre) --- */
.home .elementor-element-c0fe5e1,
.home .elementor-element-50d0f79,
.home .elementor-element-d0dbab9 {
  display: none !important;
}

/* --- Eyebrow (kicker) --- */
.techne-eyebrow {
  display: block;
  text-align: center;
  font-family: var(--techne-font) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--techne-accent);
  margin-bottom: 10px;
}

/* --- Header sticky "glass" --- */
.whb-general-header,
.whb-sticked {
  background: rgba(255, 255, 255, 0.92) !important;
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  backdrop-filter: saturate(1.4) blur(14px);
}

.whb-sticked {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* --- Slider: scrim pentru lizibilitate + tipografie display --- */
.wd-slide .wd-slide-inner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0) 35%, rgba(0,0,0,0.38) 75%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
}

.wd-slide .wd-text-block,
.wd-slide .wd-slide-content {
  position: relative;
  z-index: 2;
}

.wd-slide h1, .wd-slide h2, .wd-slide h3 {
  letter-spacing: -0.03em !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.wd-slider-wrapper .wd-btn-arrow {
  opacity: 0.55;
  transition: opacity var(--techne-transition-fast);
}

.wd-slider-wrapper:hover .wd-btn-arrow {
  opacity: 1;
}

/* --- Steps „Cum comanzi?" — timeline tipografic --- */
.techne-steps-section {
  padding: 80px 20px 72px;
  background: var(--techne-bg-primary);
}

.techne-steps-grid {
  max-width: 1200px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.techne-step-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 26px 20px 24px;
  transition: transform 400ms var(--techne-ease-out-expo),
              box-shadow 400ms var(--techne-ease-out-expo),
              border-color 400ms var(--techne-ease-out-expo);
}

.techne-step-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 58, 18, 0.35);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

.techne-step-nr {
  display: block;
  font-family: var(--techne-font) !important;
  font-size: 40px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--techne-accent);
  margin-bottom: 14px;
}

.techne-step-card:hover .techne-step-nr {
  color: var(--techne-accent);
  -webkit-text-stroke: 1.5px var(--techne-accent);
}

.techne-step-card h3 {
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

.techne-step-card p {
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: var(--techne-text-secondary);
  line-height: 1.55;
  margin: 0;
}

/* --- Video fabrică --- */
.techne-video-section {
  padding: 80px 20px;
  background: var(--techne-bg-primary);
}

.techne-video-subtitle {
  text-align: center;
  font-family: var(--techne-font) !important;
  font-size: 16px;
  color: var(--techne-text-secondary);
  max-width: 560px;
  margin: 0 auto 36px;
}

.techne-video-wrap {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  cursor: pointer;
  background: #141414;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
}

.techne-video-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms var(--techne-ease-out-expo), opacity 400ms ease;
}

.techne-video-wrap:hover img {
  transform: scale(1.03);
  opacity: 0.88;
}

.techne-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.techne-video-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 84px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--techne-accent);
  color: #ffffff;
  border-radius: 50%;
  box-shadow: 0 8px 32px rgba(255, 58, 18, 0.45);
  transition: transform 300ms var(--techne-ease-out-back), background 200ms ease;
}

.techne-video-play svg {
  margin-left: 4px;
}

.techne-video-wrap:hover .techne-video-play {
  transform: translate(-50%, -50%) scale(1.1);
  background: var(--techne-accent-hover);
}

/* --- CTA band negru: glow discret în accent --- */
.techne-hero::before {
  content: '';
  position: absolute;
  top: -30%;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 500px;
  background: radial-gradient(closest-side, rgba(255, 58, 18, 0.16), transparent);
  pointer-events: none;
}

/* --- Garanții: chip-uri moderne --- */
.techne-guarantees {
  padding: 72px 20px;
}

.techne-guarantee-item {
  background: var(--techne-bg-alt);
  border-radius: 14px;
  padding: 28px 18px;
  transition: transform 400ms var(--techne-ease-out-expo), box-shadow 400ms var(--techne-ease-out-expo);
}

.techne-guarantee-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.07);
}

.techne-guarantee-item svg {
  width: 44px;
  height: 44px;
  padding: 10px;
  background: rgba(255, 58, 18, 0.09);
  border-radius: 12px;
  box-sizing: content-box;
}

/* --- Testimoniale: avatar + citat --- */
.techne-testimonial {
  position: relative;
  border-radius: 16px;
  padding: 30px 28px 26px;
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.techne-testimonial::before {
  content: '\201C';
  position: absolute;
  top: 6px;
  right: 20px;
  font-family: Georgia, serif;
  font-size: 64px;
  line-height: 1;
  color: rgba(255, 58, 18, 0.14);
}

.techne-testimonial-author {
  display: flex;
  align-items: center;
  gap: 12px;
}

.techne-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 58, 18, 0.10);
  color: var(--techne-accent);
  font-family: var(--techne-font) !important;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  flex-shrink: 0;
}

/* --- Formular: card --- */
.techne-form-section {
  max-width: 100%;
  background: var(--techne-bg-alt);
  padding: 80px 20px 88px;
}

.techne-lead-form {
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 18px;
  padding: 36px 32px 32px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.06);
}

/* --- Categorii (iconițe): carduri clicabile --- */
.elementor-column:has(img[src*="/icons/icon-"]) > .elementor-widget-wrap {
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 14px;
  padding: 26px 12px 18px !important;
  transition: transform 400ms var(--techne-ease-out-expo),
              border-color 400ms var(--techne-ease-out-expo),
              box-shadow 400ms var(--techne-ease-out-expo);
}

.elementor-column:has(img[src*="/icons/icon-"]) > .elementor-widget-wrap:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 58, 18, 0.35);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .techne-steps-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .techne-steps-section,
  .techne-video-section {
    padding: 52px 16px;
  }

  .techne-steps-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  .techne-step-nr {
    font-size: 32px;
  }

  .techne-video-wrap {
    border-radius: 12px;
  }

  .techne-video-play {
    width: 64px;
    height: 64px;
  }

  .techne-lead-form {
    padding: 24px 18px 22px;
  }

  .techne-form-submit {
    width: 100%;
  }
}

/* =============================================
   PORTOFOLIU — grid galerii + lightbox
   ============================================= */

.techne-pf-section {
  padding: 80px 20px;
  background: var(--techne-bg-primary);
}

.techne-pf-page {
  padding-top: 56px;
}

.techne-pf-grid {
  max-width: 1200px;
  margin: 36px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.techne-pf-item {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: var(--techne-bg-card);
}

.techne-pf-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms var(--techne-ease-out-expo);
}

.techne-pf-item:hover img {
  transform: scale(1.05);
}

.techne-pf-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 55%, rgba(0, 0, 0, 0.45) 100%);
  opacity: 0;
  transition: opacity 300ms ease;
}

.techne-pf-item:hover::after {
  opacity: 1;
}

.techne-pf-tag {
  position: absolute;
  left: 12px;
  bottom: 10px;
  z-index: 2;
  font-family: var(--techne-font) !important;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 300ms ease, transform 300ms ease;
  pointer-events: none;
}

.techne-pf-item:hover .techne-pf-tag {
  opacity: 1;
  transform: translateY(0);
}

.techne-pf-group {
  font-family: var(--techne-font) !important;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  max-width: 1200px;
  margin: 48px auto 0;
  color: var(--techne-text-primary);
}

.techne-pf-group::before {
  content: '';
  display: inline-block;
  width: 9px;
  height: 9px;
  background: var(--techne-accent);
  margin-right: 10px;
}

.techne-pf-more {
  text-align: center;
  margin-top: 36px;
}

.techne-pf-link-dark {
  color: var(--techne-text-primary) !important;
  border-color: var(--techne-text-primary) !important;
}

.techne-pf-link-dark:hover {
  background: var(--techne-text-primary) !important;
  color: #ffffff !important;
}

/* Lightbox */
.techne-lb {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(10, 10, 10, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
}

.techne-lb[hidden] {
  display: none;
}

.techne-lb img {
  max-width: min(1400px, 92vw);
  max-height: 84vh;
  border-radius: 10px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5);
}

.techne-lb-close,
.techne-lb-prev,
.techne-lb-next {
  position: absolute;
  background: rgba(255, 255, 255, 0.08);
  border: none;
  color: #ffffff;
  cursor: pointer;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  line-height: 1;
  transition: background 200ms ease;
}

.techne-lb-close:hover,
.techne-lb-prev:hover,
.techne-lb-next:hover {
  background: var(--techne-accent);
}

.techne-lb-close { top: 20px; right: 20px; font-size: 26px; }
.techne-lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.techne-lb-next { right: 16px; top: 50%; transform: translateY(-50%); }

.techne-lb-caption {
  position: absolute;
  bottom: 18px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--techne-font) !important;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  text-align: center;
  max-width: 80vw;
}

@media (max-width: 1024px) {
  .techne-pf-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .techne-pf-section {
    padding: 52px 16px;
  }

  .techne-pf-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .techne-lb-prev, .techne-lb-next {
    width: 40px;
    height: 40px;
  }
}

/* --- Portofoliu (arhiva shop): ascundem secțiunile vechi cu poze stock și galeriile goale --- */
.post-type-archive-product .elementor-element-6484802e,
.post-type-archive-product .elementor-element-1664a82b,
.post-type-archive-product .elementor-element-ad91013,
.post-type-archive-product .elementor-element-de58af1 {
  display: none !important;
}

/* --- Portofoliu pe proiecte --- */
.techne-pf-project {
  margin-top: 8px;
}

.techne-pf-count {
  font-size: 13px;
  font-weight: 500;
  color: var(--techne-text-disabled);
  margin-left: 12px;
  letter-spacing: 0;
}

.techne-pf-desc {
  font-family: var(--techne-font) !important;
  font-size: 14.5px;
  color: var(--techne-text-secondary);
  line-height: 1.6;
  max-width: 1200px;
  margin: 8px auto 0;
}

/* --- Portofoliu: carduri categorii --- */
.techne-pf-cats {
  max-width: 1200px;
  margin: 24px auto 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.techne-cat-card {
  position: relative;
  display: block;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--techne-bg-card);
}

.techne-cat-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 600ms var(--techne-ease-out-expo);
}

.techne-cat-card:hover img {
  transform: scale(1.06);
}

.techne-cat-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 45%, rgba(0, 0, 0, 0.55) 100%);
}

.techne-cat-card span {
  position: absolute;
  left: 14px;
  bottom: 12px;
  z-index: 2;
  font-family: var(--techne-font) !important;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.techne-cat-card:hover span {
  color: #ffffff;
}

@media (max-width: 1024px) {
  .techne-pf-cats {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 600px) {
  .techne-pf-cats {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

/* --- Formular: rând single (Localitate) --- */
.techne-form-row-single {
  grid-template-columns: 1fr;
}
