/*
Theme Name:     Cosco
Theme URI:      
Description:    Catalog Theme for Giuri Tessuti
Author:         Giuseppe D.
Author URI:     
Template:       kiosko
Version:        1.0.0
*/

a.button.catalog-contact {
  background:#495358; 
  color:#fff; 
  border:none;
  padding:10px 18px; 
  border-radius:6px; 
  text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.15);
}
a.button.catalog-contact:hover {
	background:#daa520; 
	color:#0f1113; 
}

/* Nasconde il messaggio di indisponibilità mostrato nel wrapper "alert" */
.single_variation_wrap .single_variation[role="alert"],
.single_variation_wrap .single_variation p[role="alert"]{
  display: none !important;
}

/* Opzionale: disabilita anche la UI "disabilitata" se compare */
.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
.woocommerce-variation-add-to-cart-disabled .quantity{
  display: none !important;
}

/* Nasconde l'intera sezione del messaggio "Non disponibile" */
.single_variation_wrap {
	display: none !important;
}

/* Toglie il margine sotto alla sezione delle varianti */	
.value_woo-variation-items-wrapper {
	margin-bottom: -28px !important;
}

/* Toglie il pulsante per deselezionare la variante selezionata "Svuota" */
.reset_variations {
	display: none;
}

/* Sblocca eventuali tagli del wrapper tab */
.woocommerce .wc-tabs-wrapper { overflow: visible; }

/* DESKTOP (≥1200px): 1440px centrati con translate */
@media (min-width: 1200px) {
  #tab-description {
    max-width: none !important;
    width: 1440px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    padding-left: 32px;   /* opzionali */
    padding-right: 32px;  /* opzionali */
  }
  /* Se dentro usi Elementor "boxed" */
  #tab-description .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 1440px !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/* TABLET (768–1199px): centrato a ~960px, senza translate */
@media (min-width: 768px) and (max-width: 1199.98px) {
  #tab-description {
    position: static;
    left: auto;
    transform: none;
    width: auto;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;   /* riduci margini laterali */
    padding-right: 24px;
  }
  #tab-description .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 960px !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/* MOBILE (≤767px): full width, senza translate e con padding minimi */
@media (max-width: 767.98px) {
  #tab-description {
    position: static;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0px;   /* aria ai lati, regola a piacere */
    padding-right: 0px;
  }
  #tab-description .elementor-section.elementor-section-boxed > .elementor-container {
    max-width: 100% !important;
    margin-left: auto;
    margin-right: auto;
  }
}

.catalog-extras h4 { 
	margin: 16px 0 8px; 
	font-weight: 500;
	font-size: 16px;
}

.catalog-extras .icons-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:12px 1px;
  align-items:start;
  margin-bottom:12px;
}

@media (max-width:1024px){ 
	.catalog-extras .icons-grid{ 
		grid-template-columns:repeat(4,1fr); 
	} 
}

@media (max-width:640px){ 
	.catalog-extras .icons-grid{ 
		grid-template-columns:repeat(3,1fr); 
	} 
}

.catalog-extras .icon{ 
	text-align:center; 
	font-size:11px; 
	line-height:1.2; 
}
.catalog-extras .icon img{ 
	display:block; 
	width:38px; 
	height:38px; 
	margin:0 auto 6px; 
	object-fit:contain; 
}

.catalog-extras .download-spec{
  background:#495358; 
  color:#fff; 
  border:none;
  padding:10px 18px; 
  border-radius:6px; 
  text-decoration:none;
  box-shadow:0 1px 0 rgba(0,0,0,.15);
}
.catalog-extras .download-spec:hover{ 
	background:#daa520; 
	color:#0f1113; 
}

.woocommerce .wp-block-woocommerce-product-image-gallery {
  clear: both;
  max-width: 100%;
  position: relative;
}

.woocommerce table.variations tr td, .woocommerce table.variations tr th {
  padding-bottom: 1px;
}

.catalog-extras {
  margin-top: 1px;
}

/* Stessi stili di base per ENTRAMBI i bottoni */
a.button.catalog-contact,
a.button.download-spec{
  background:#495358 !important;
  color:#fff !important;
  border:none !important;
  padding:10px 18px !important;          /* override del 1rem 2rem */
  border-radius:6px !important;
  text-decoration:none !important;
  box-shadow:0 1px 0 rgba(0,0,0,.15) !important;
  display:inline-flex !important;         /* non block */
  align-items:center; justify-content:center;
  line-height:1.2;
  margin-top:0 !important;                /* annulla il margin-top del tema */
  width:auto !important;
  font-size: 18px;
  font-weight: 500;
}

/* Hover coerente per entrambi */
a.button.catalog-contact:hover,
a.button.download-spec:hover{
  background:#daa520 !important;
  color:#0f1113 !important;
}

/* Wrapper: mettili in riga, vanno a capo se serve */
.catalog-actions{
  display:flex;
  gap:12px;
  margin:20px 0;
  flex-wrap:wrap;
  align-items:stretch;
}
.catalog-actions .button{
  flex:1 1 240px;                          /* due bottoni equilibrati */
  text-align:center;
}

.wp-block-woocommerce-product-summary {
	margin-top: -15px;
}

/* Solo per questa lista prodotti */
ul.wc-block-product-template__responsive.wc-block-product-template.is-layout-flow {
  --wp--preset--spacing--50: 0 !important;
}

.wp-element-button, .wp-block-button__link {
	background:#495358 !important;
	color:#fff !important;
}

.wp-element-button:hover, .wp-block-button__link:hover {
	background:#daa520 !important;
	color:#0f1113 !important;
}

.wc-block-featured-category__title {
	display: none;
}

body.page-id-454 .wp-block-post-title {
  display: none !important;
}

/* =========================================================
   CF7 Catalog Form – Slim + Montserrat + Compact + Mobile spacing
   ========================================================= */
.cf7-catalog-form {
  --primary: #495358;   /* brand primario */
  --accent:  #daa520;   /* brand secondario */
  --border:  #e5e7eb;
  --ink:     #1f2937;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}
.cf7-catalog-form * { font-family: inherit; }
.cf7-catalog-form ::placeholder { font-family: inherit; }

/* ---------- Griglia responsiva (2 colonne slim) ---------- */
.cf7-catalog-form .cf7-row.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 720px){
  .cf7-catalog-form .cf7-row.two { grid-template-columns: 1fr; }
}

/* ---------- Spaziature verticali compatte ---------- */
.cf7-catalog-form .cf7-row    { margin-bottom: 0px; }
.cf7-catalog-form .cf7-field  { margin-bottom: 4px; }

/* ---------- Label con icone inline (stessa riga del titolo) ---------- */
.cf7-catalog-form .cf7-field label {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  margin-bottom: 2px;         /* ancora più compatto */
  line-height: 1.2;
  font-size: 15px;            /* titoli più grandi */
  font-weight: 700;
  color: var(--primary);
}
.cf7-catalog-form .cf7-field label svg {
  width: 16px; height: 16px;
  flex: none;
  color: var(--primary);
  opacity: .9;
}

/* ---------- Campi input/textarea (slim & leggibili) ---------- */
.cf7-catalog-form input[type="text"],
.cf7-catalog-form input[type="email"],
.cf7-catalog-form input[type="tel"],
.cf7-catalog-form input[type="url"],
.cf7-catalog-form textarea,
.cf7-catalog-form select {
  width: 100%;
  padding: 6px 12px;            /* slim verticale */
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.35;
  box-sizing: border-box;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.cf7-catalog-form textarea {
  min-height: 60px;             /* box messaggio più basso */
  resize: vertical;
  height: 80px;
}

.cf7-field p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Focus accessibile */
.cf7-catalog-form input:focus,
.cf7-catalog-form textarea:focus,
.cf7-catalog-form select:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(218,165,32,0.16);
}

/* Readonly (prodotto/SKU) */
.cf7-catalog-form input[readonly] {
  background: #f4f6f8;
  color: #555;
}

/* Messaggi di validazione CF7 */
.wpcf7-not-valid-tip { color:#b91c1c; font-size:12px; margin-top:6px; }
.wpcf7 form.invalid .wpcf7-response-output { border-color:#b91c1c; }
.wpcf7 form.sent    .wpcf7-response-output { border-color:#16a34a; }

/* ---------- Azioni e pulsante submit ---------- */
.cf7-catalog-form .cf7-actions { 
  margin-top: 6px;
  text-align: center;                /* pulsante a destra */
}

/* Bottone coerente con il sito, auto-width e un po’ più largo */
.cf7-catalog-form .cf7-submit.button.catalog-contact,
.cf7-catalog-form .cf7-submit.button.catalog-contact.slim {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #495358;
  color: #fff;
  border: none;
  padding: 12px 24px;               /* più largo per visibilità */
  border-radius: 6px;
  font-size: 18px;                  /* Montserrat più grande */
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(0,0,0,.15);
  transition: background .2s ease, transform .05s ease, color .2s ease;
  width: auto !important;           /* evita full-width */
}
.cf7-catalog-form .cf7-submit.button.catalog-contact:hover,
.cf7-catalog-form .cf7-submit.button.catalog-contact.slim:hover {
  background: var(--accent);
  color: #0f1113;
}
.cf7-catalog-form .cf7-submit.button.catalog-contact:active,
.cf7-catalog-form .cf7-submit.button.catalog-contact.slim:active {
  transform: translateY(1px);
}

/* Normalizza eventuali regole del tema su submit */
.wpcf7 form .wpcf7-form-control.wpcf7-submit {
  margin-top: 0 !important;
  width: auto !important;
}

/* =========================================================
   Ottimizzazione orizzontale su schermi stretti
   - riduce margini laterali percepiti
   - gap più stretti
   - padding campi più snello
   ========================================================= */
@media (max-width: 480px) {
  .cf7-catalog-form {
    padding-left: 8px;
    padding-right: 8px;      /* lieve riduzione margini laterali */
  }
  .cf7-catalog-form .cf7-row.two { gap: 8px; }
  .cf7-catalog-form .cf7-row    { margin-bottom: 4px; }
  .cf7-catalog-form .cf7-field  { margin-bottom: 4px; }

  .cf7-catalog-form input[type="text"],
  .cf7-catalog-form input[type="email"],
  .cf7-catalog-form input[type="tel"],
  .cf7-catalog-form input[type="url"],
  .cf7-catalog-form textarea,
  .cf7-catalog-form select {
    padding: 6px 10px;       /* orizzontale più snello */
    font-size: 16px;
  }

  .cf7-catalog-form .cf7-actions { margin-top: 6px; }
  .cf7-catalog-form .cf7-submit.button.catalog-contact,
  .cf7-catalog-form .cf7-submit.button.catalog-contact.slim {
    padding: 11px 22px;      /* mantiene equilibrio visivo su mobile */
    font-size: 17px;
  }
}
