/*
Theme Name: 	Sintesi Orbetello
Theme URI: 	https://sintesiorbetello.it
Description: 	Tema custom per Sintesi Orbetello — basato su HTML5 Blank, ricostruito secondo le linee guida del template di riferimento. Palette derivata dal logo (accento teal #6aa0ab).
Version: 	1.0.0
Author: 	Decoro Pubblicità
Author URI:	https://decoropubblicita.it
Tags: 		custom, html5, css3

License:	MIT
License URI:	http://opensource.org/licenses/mit-license.php
*/

/* =============================================================================
   HTML5 Reset
   ========================================================================== */

	article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {display:block;}
	audio, canvas, video {display:inline-block;*display:inline;*zoom:1;}
	audio:not([controls]) {display:none;}
	[hidden] {display:none;}

	html {font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
	body {margin:0;font-size:1em;line-height:1;}
	p {margin:0;padding:0; font-size: 1.2em;}

	h1,h2,h3,h4,h5,h6 {text-decoration:none;padding:0;margin:0;}

	a {text-decoration:none;color:inherit;}
	a:focus {outline:0;}
	a:hover, a:active {outline:0;}

	abbr[title] {border-bottom:1px dotted;}
	b, strong {font-weight:bold;}
	.clear {clear:both;}
	dfn {font-style:italic;}
	hr {display:block;height:1px;border:0;border-top:1px solid #eee;margin:1em 0;padding:0;}
	ins {background:#FF9;color:#000;text-decoration:none;}
	mark {background:#FF0;color:#000;font-style:italic;font-weight:bold;}
	pre, code, kbd, samp {font-family:monospace,serif;font-size:1em;}
	pre {white-space:pre;white-space:pre-wrap;word-wrap:break-word;}
	q {quotes:none;}
	q:before, q:after {content:"";content:none;}
	small {font-size:90%;}
	blockquote {background-color:#f7f7f7;border:1px solid #eee;margin:10px 0;padding:10px 30px;border-radius:3px;}

	sub, sup {font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
	sup {top:-0.5em;}
	sub {bottom:-0.25em;}

	ul {margin:0;padding:0;list-style:none;}
	ol {margin:15px;}

	dd {margin:0 0 0 40px;}
	nav ul, nav ol {list-style:none;list-style-image:none;margin:0;padding:0;}

	img {border:0;vertical-align:middle;max-width:100%;display:block;}

	svg:not(:root) {overflow:hidden;}

	figure {margin:0;}
	form {margin:0;}
	fieldset {border:0;margin:0;padding:0;}
	label {cursor:pointer;}
	button, input, select, textarea {font-size:100%;margin:0;vertical-align:baseline;}
	button, input {line-height:normal;}
	button, input[type="button"], input[type="reset"], input[type="submit"] {cursor:pointer;-webkit-appearance:none;}
	textarea {overflow:auto;vertical-align:top;resize:vertical;}

	table {border-collapse:collapse;border-spacing:0;}
	td {vertical-align:top;}

	*, *::before, *::after {box-sizing:border-box;}

/* =============================================================================
   Variables  (palette & font da template_linee_guida.html)
   ========================================================================== */

	:root {
		/* Palette ricavata dal logo (logo_sintesi.svg) */
		--primary:      #6aa0ab;   /* teal/petrolio — accento primario (colore dominante del logo) */
		--primary-dark: #558690;
		--accent:       #debb4d;   /* oro — highlight (uso parsimonioso) */
		--green:        #95c11f;   /* lime del logo — disponibile, uso minimo */
		--blue:         #009fe3;
		--blue-light:   #bbd7e1;

		--dark:         #1d1d1b;   /* nero del wordmark */
		--heading:      #1d1d1b;
		--text:         #777777;
		--light:        #f7f7f7;
		--border:       #eeeeee;

		--font-body:    'Roboto Condensed', Arial, sans-serif;
		--font-heading: 'Roboto Condensed', Arial, sans-serif;
		--max-width:    1140px;
		--sidebar-width: 450px;   /* larghezza sidebar fissa (Versione C) */
	}

/* =============================================================================
   Base
   ========================================================================== */

	html { scroll-behavior: smooth; }

	body {
		font-family: var(--font-body);
		color: var(--text);
		line-height: 1.7;
		font-size: 1rem;
		background: #fff;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	h1, h2, h3, h4, h5 {
		color: var(--heading);
		font-family: var(--font-heading);
		font-weight: 700;
		line-height: 1.2;
	}
	h1, h2 { font-size: 3.4rem; margin-bottom: 20px; }
	h3 { font-size: 2.4rem; margin-bottom: 18px; }
	h4 { font-size: 1.4rem; margin-bottom: 14px; }

	.green { color: var(--primary); }

	.center {
		text-align: center;
	}
	.dark { color: #fff}
	.no-gap {gap: 0;}
/* =============================================================================
   Layout & helpers
   ========================================================================== */

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

	.sec-pad { padding: 90px 0; }

	.sub-title {
		color: var(--primary);
		text-transform: uppercase;
		letter-spacing: 2px;
		font-weight: 600;
		font-size: 13px;
		margin-bottom: 8px;
	}
	.title-line {
		width: 50px;
		height: 3px;
		background: var(--primary);
		margin: 18px 0;
	}

	.btn {
		display: inline-block;
		background: var(--primary);
		color: #fff;
		padding: 14px 30px;
		border-radius: 30px;
		font-weight: 600;
		font-size: 13px;
		letter-spacing: .5px;
		text-transform: uppercase;
		transition: .3s;
		border: none;
		cursor: pointer;
	}
	.btn:hover { background: var(--primary-dark); }
	.btn-outline { background: transparent; border: 1px solid #fff; color: #fff; }
	.btn-outline:hover { background: #fff; color: var(--dark); }

/* =============================================================================
   Layout Versione C — Sidebar fissa (sx) + colonna contenuti (dx)
   ========================================================================== */

	/* Contenitore generale */
	.site {
		min-height: 100vh;
	}

	/* --- Sidebar fissa a sinistra --- */
	.sidebar {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: var(--sidebar-width);
		z-index: 1000;

		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 55px 32px 45px;
		overflow-y: auto;

		/* Sfondo: colore primary + immagine di sfondo (impostare manualmente).
		   Sostituisci l'url qui sotto con la tua grafica quando pronta. */
		background-color: var(--primary);
		background-image: url(img/bg-sidebar.png); 
		background-repeat: no-repeat;
		background-position: bottom;
		background-size: cover;
	}

	/* Logo (reso bianco su fondo teal; rimuovi il filter se usi un SVG già bianco) */
	.sidebar-logo {
		display: block;
		margin-bottom: 50px;
	}
	.sidebar-logo img {
		width: 190px;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
		filter: brightness(0) invert(1);
	}

	/* Nav verticale */
	.sidebar-nav {
		width: 100%;
		flex: 1 0 auto;
	}
	.sidebar-nav ul {
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}
	.sidebar-nav li {
		border-top: 1px solid rgba(255,255,255,.18);
	}
	.sidebar-nav li:last-child {
		border-bottom: 1px solid rgba(255,255,255,.18);
	}
	.sidebar-nav a {
		display: block;
		position: relative;
		padding: 20px 10px;
		text-align: center;
		color: #fff;
		font-weight: 500;
		font-size: 16px;
		text-transform: uppercase;
		letter-spacing: 1px;
		transition: opacity .25s;
	}
	.sidebar-nav a:hover { opacity: .85; }
	.sidebar-nav .current-menu-item {
		border-bottom: solid 2px var(--green);
	}
	.sidebar-nav .current-menu-item > a::after,
	.sidebar-nav .current_page_item > a::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 10px;
		transform: translateX(-50%);
		width: 46px;
		height: 3px;
		background: var(--green);
		display: none;
	}
	/* Sotto-menu: lista semplice indentata (no dropdown nella sidebar) */
	.sidebar-nav .sub-menu {
		padding-bottom: 10px;
	}
	.sidebar-nav .sub-menu a {
		padding: 10px;
		font-size: 13px;
		text-transform: none;
		letter-spacing: .5px;
		opacity: .8;
		border: none;
	}

	/* Social in fondo */
	.sidebar-social {
		display: flex;
		gap: 14px;
		margin-top: 45px;
	}
	.sidebar-social a {
		width: 44px;
		height: 44px;
		border-radius: 50%;
		background: #fff;
		color: var(--primary);
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 17px;
		transition: all .3s;
	}
	.sidebar-social a:hover { background: var(--accent); color: #fff; }

	/* --- Colonna destra: main content + footer --- */
	.site-content {
		margin-left: var(--sidebar-width);
		min-height: 100vh;
		display: flex;
		flex-direction: column;
	}
	.site-content .page-body {
		flex: 1 0 auto;
	}

/* =============================================================================
   Mobile bar + hamburger + overlay (attivi solo sotto 900px)
   ========================================================================== */

	.mobile-bar {
		display: none;
		align-items: center;
		justify-content: space-between;
		padding: 12px 18px;
		background: var(--primary);
		position: sticky;
		top: 0;
		z-index: 1100;
	}
	.mobile-logo img {
		height: 46px;
		width: auto;
		filter: brightness(0) invert(1);
	}

	.nav-toggle {
		display: none;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 40px; height: 40px;
		background: transparent; border: none;
		padding: 0; cursor: pointer;
	}
	.nav-toggle span {
		display: block; width: 24px; height: 2px;
		background: #fff; margin: 0 auto;
		transition: .3s;
	}
	.nav-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
	.nav-toggle.open span:nth-child(2) { opacity: 0; }
	.nav-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

	/* Bottone chiudi dentro la sidebar (solo mobile) */
	.nav-close {
		display: none;
		position: absolute;
		top: 16px; right: 18px;
		width: 40px; height: 40px;
		align-items: center;
		justify-content: center;
		background: none;
		border: none;
		color: #fff;
		font-size: 24px;
		line-height: 1;
		cursor: pointer;
	}

	/* Overlay scuro dietro la sidebar aperta */
	.sidebar-overlay {
		display: none;
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,.45);
		z-index: 999;
	}
	.sidebar-overlay.open { display: block; }

/* =============================================================================
   Page body
   ========================================================================== */

	.page-body { min-height: 40vh; }

	.wrapper { max-width: var(--max-width); margin: 0 auto; padding: 0 15px; }
	.content-padding { padding: 90px 15px; }
	.rounded, .rounded img { border-radius: 10px; }
	.wrap-left {
		padding-left: calc((100% - var(--max-width)) / 2);
	}
	.header-cover h1 {
		font-size: 6rem;
		text-shadow: 0 2px 7px rgba(0,0,0,.3);
	}
	.header-cover h2 {
		text-shadow: 0 2px 4px rgba(0,0,0,.3);
	}
	
	.header-cover .paragrafo {
		max-width: 70%;
		font-size: 1.6rem;
		line-height: 1.1;
	}
	.intro-icons {
		padding-bottom: 40px;
	}
	.intro-icons hr, .hr-custom { margin: 20px 0; width: 50px; height: 3px; background: var(--primary); border: none; }
	.intro-icons .wp-block-column {
		transition: all .3s;
		background: transparent;
		padding: 10px;
		color: #fff;
	}
	.intro-icons .wp-block-column:hover {
		background: #0000005b;
	}
	.generic { margin: 20px 0; width: 50px; height: 3px; background: var(--primary); border: none; }
	.dark .generic { background: #82b22e; }
	.no-margin { margin: 0!important; }

	.bg-grafica {
		background-image: url(img/grafica.svg);
		background-repeat: no-repeat;
		background-size: 100%;
	}
	.news-home {
		background-image: url(img/news.jpg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
	}

	/* Breadcrumb (single.php) */
	.breadcrumb {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		margin-bottom: 40px;
		padding: 0;
		font-size: 13px;
		letter-spacing: .5px;
		text-transform: uppercase;
		color: var(--text);
	}
	.breadcrumb li {
		display: inline-flex;
		align-items: center;
		line-height: 1.4;
	}
	.breadcrumb li + li::before {
		content: "\203A"; /* › */
		margin: 0 10px;
		color: var(--primary);
		font-weight: 700;
	}
	.breadcrumb a {
		color: var(--primary);
		font-weight: 600;
		transition: color .2s;
	}
	.breadcrumb a:hover { color: var(--primary-dark); }
	.breadcrumb li:last-child {
		color: var(--heading);
		font-weight: 600;
	}
	.info-convegno {
		border-left: solid 2px var(--primary);
		padding-left: 10px;
		font-size: 1rem;
	}
	.info-convegno h4 {
		color: var(--primary);
	}
	.box-convegni .wp-block-column { padding: 30px; background: #fff; box-shadow: 0 10px 20px rgba(0,0,0,.07); transition: all .3s; }
/* =============================================================================
   Hero
   ========================================================================== */

	.hero {
		background: linear-gradient(rgba(255,255,255,.15),rgba(255,255,255,.15));
		background-color: var(--light);
		text-align: center;
		padding: 120px 0 150px;
		position: relative;
	}
	.hero h4 { color: var(--primary); font-size: 30px; font-family: Georgia, serif; font-style: italic; margin-bottom: 10px; }
	.hero h1 { font-size: 62px; color: #fff; letter-spacing: 2px; text-shadow: 0 2px 10px rgba(0,0,0,.2); }
	.hero p { color: #fff; max-width: 480px; margin: 20px auto 35px; font-size: 16px; }
	.hero .btns a { margin: 0 6px; }
	.cards-home {
		box-shadow: 0 10px 40px rgba(0,0,0,.08);
	}
	.cards-home .wp-block-column {
		padding: 20px;
		background: #fff;
		transition: all .3s;
	}
	.cards-home .wp-block-column:hover { box-shadow: 0 10px 40px rgba(0,0,0,.15); transform: translateY(-4px); }
/* =============================================================================
   Features
   ========================================================================== */

	.features { margin-top: -60px; position: relative; z-index: 4; }
	.features .grid { display: grid; grid-template-columns: repeat(4,1fr); background: #fff; box-shadow: 0 10px 40px rgba(0,0,0,.08); }
	.feature { padding: 45px 25px; text-align: center; border-right: 1px solid var(--border); }
	.feature:last-child { border-right: none; }
	.feature .ico { font-size: 42px; color: var(--primary); margin-bottom: 18px; }
	.feature h4 { margin-bottom: 14px; }
	.feature .title-line { margin: 0 auto 16px; width: 30px; }

/* =============================================================================
   Services (green band)
   ========================================================================== */

	.services { background: var(--primary); text-align: center; color: #fff; }
	.services .sub-title { color: #dbeef1; }
	.services h2 { color: #fff; margin-bottom: 50px; }
	.services .grid { display: grid; grid-template-columns: repeat(3,1fr); }
	.service { padding: 0 30px; border-right: 1px solid rgba(255,255,255,.25); }
	.service:last-child { border: none; }
	.service .ico { font-size: 42px; margin-bottom: 18px; }
	.service h4 { color: #fff; margin-bottom: 14px; }
	.service .title-line { background: #fff; margin: 0 auto 16px; width: 30px; }
	.service p { color: #e6f1f3; margin-bottom: 25px; }


	/* =============================================================================
   Elements
   ========================================================================== */

	.card { background: #fff; box-shadow: 0 10px 40px rgba(0,0,0,.08); }

/* =============================================================================
   Footer  (logo · 4 colonne scure · barra copyright)
   ========================================================================== */

	.footer { background: #fff; }
	

	.footer-main {
		background: var(--dark);
		color: #aaa;
		padding: 70px 0;
	}
	.footer-main .grid {
		display: grid;
		grid-template-columns: repeat(4,1fr);
		gap: 40px;
	}
	.footer-main h4 {
		color: #fff;
		margin-bottom: 25px;
		position: relative;
		padding-bottom: 12px;
		font-size: 1.05rem;
	}
	.footer-main h4:after {
		content: "";
		position: absolute;
		left: 0; bottom: 0;
		width: 40px; height: 2px;
		background: var(--primary);
	}
	.footer-main a { color: #aaa; }
	.footer-main a:hover { color: var(--primary); }
	.footer-main ul { list-style: none; }
	.footer-main ul li { padding: 6px 0; }
	.footer-main p { margin-bottom: 12px; }

	.contact-row { display: flex; gap: 12px; margin-bottom: 15px; align-items: baseline; }
	.contact-row i { color: var(--primary); width: 18px; text-align: center; flex-shrink: 0; }

	.footer-social { display: flex; gap: 10px; margin-top: 20px; }
	.footer-social a {
		width: 38px; height: 38px;
		display: flex; align-items: center; justify-content: center;
		border: 1px solid rgba(255,255,255,.15);
		border-radius: 50%;
		color: #aaa; font-size: 15px;
		transition: all .3s;
	}
	.footer-social a:hover { background: var(--primary); border-color: var(--primary); color: #fff; }
	.footer .footer-logo {
		max-width: 160px;
	}
	.copyright {
		background: #1b1b1b;
		color: #888;
		text-align: center;
		padding: 20px;
		font-size: 13px;
	}
	.copyright a:hover { color: var(--primary); }


  /* ===== APPOINTMENT / WHY ===== */
  .why{background:#f4f4f4;position:relative}
  .why .row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:flex-start}
  .appoint{background:#fff;padding:40px;box-shadow:0 10px 40px rgba(0,0,0,.08);margin-top:-40px}
  .appoint h2{margin-bottom:12px}
  .appoint .fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}
  .appoint input,.appoint textarea{width:100%;border:none;border-bottom:1px solid #ddd;padding:10px 5px;outline:none;font-family:inherit}
  .appoint .full{grid-column:span 2}
  .why-item{display:flex;gap:20px;margin-bottom:30px}
  .why-item img{width:90px;height:90px;object-fit:cover;border-radius:4px;flex-shrink:0}
  .why-item h4{color:var(--green);margin-bottom:8px}
  .why-item .more{color:var(--green);font-weight:600;font-size:13px;text-transform:uppercase;display:inline-block;margin-top:10px}

  /* ===== SERVICES (green band) ===== */
  .services{background:linear-gradient(rgba(140,180,40,.92),rgba(140,180,40,.92)),url('https://images.pexels.com/photos/1640777/pexels-photo-1640777.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover;text-align:center;color:#fff}
  .services .sub-title{color:#eaf7c8}
  .services h2{color:#fff;margin-bottom:50px}
  .services .grid{display:grid;grid-template-columns:repeat(3,1fr)}
  .service{padding:0 30px;border-right:1px solid rgba(255,255,255,.25)}
  .service:last-child{border:none}
  .service .ico{font-size:42px;margin-bottom:18px}
  .service h4{color:#fff;margin-bottom:14px}
  .service .title-line{background:#fff;margin:0 auto 16px;width:30px}
  .service p{color:#f1f7da;margin-bottom:25px}

  /* ===== STORY (split) ===== */
  .story .row{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center}
  .story .txt{padding-right:50px}
  .story ul{list-style:none;margin-top:20px}
  .story ul li{padding:6px 0}
  .story ul li:before{content:"\2713";color:var(--green);font-weight:700;margin-right:10px}
  .story .img img{width:100%;height:100%;object-fit:cover;min-height:400px}

  /* ===== CTA BALANCE ===== */
  .balance{background:linear-gradient(rgba(255,255,255,.05),rgba(255,255,255,.05)),url('https://images.pexels.com/photos/1640772/pexels-photo-1640772.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover}
  .balance .row{display:grid;grid-template-columns:1fr 1fr}
  .balance .txt{padding:80px 0 80px 50px;text-align:right}
  .balance h4{color:var(--green);font-family:Georgia,serif;font-style:italic;font-size:26px;margin-bottom:10px}
  .balance h2{font-size:40px;margin-bottom:20px}
  .balance p{margin-bottom:30px}
  .balance .btns a{margin-left:12px}

  /* ===== PRICING ===== */
  .pricing{background:#f4f4f4}
  .pricing .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:center}
  .price{background:#fff;text-align:center;padding:40px 25px;box-shadow:0 5px 25px rgba(0,0,0,.05)}
  .price.featured{background:var(--dark);color:#ccc;padding:60px 25px;z-index:2;position:relative}
  .price h4{margin-bottom:10px}
  .price.featured h4{color:#fff}
  .price .amount{font-size:46px;color:var(--green);font-weight:800;margin-bottom:5px}
  .price .per{font-size:12px;letter-spacing:1px;color:#aaa;margin-bottom:25px}
  .price ul{list-style:none;margin-bottom:25px}
  .price ul li{padding:12px 0;border-bottom:1px solid #eee;font-size:14px}
  .price.featured ul li{border-color:#444}



  /* ===== NEWSLETTER ===== */
  .newsletter{background:linear-gradient(rgba(140,180,40,.9),rgba(140,180,40,.9)),url('https://images.pexels.com/photos/1640773/pexels-photo-1640773.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover;color:#fff}
  .newsletter .box{background:#fff;border-radius:6px;padding:40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;box-shadow:0 10px 40px rgba(0,0,0,.1)}
  .newsletter .box .field{display:flex;flex:1;min-width:300px;border:1px solid #ddd;border-radius:30px;overflow:hidden}
  .newsletter .box input{flex:1;border:none;padding:12px 20px;outline:none}


  /* ===== Form "Partecipa agli incontri" – CF7 / Progetto SINTESI ===== */

/* Box contenitore (avvolgi lo shortcode in <div class="appoint">) */
.appoint{
  background:#fff;padding:40px;border-radius:0;
  box-shadow:0 10px 40px rgba(0,0,0,.08);
}

/* Titoletti come nel template */
.appoint .sub-title{
  color:#9bca3c;text-transform:uppercase;letter-spacing:2px;
  font-weight:600;font-size:13px;margin-bottom:8px;
}
.appoint h2{margin-bottom:12px;color:#2b2b2b}
.appoint h2 .green{color:#9bca3c}
.appoint > p{margin-bottom:0;color:#777}

/* Reset dei <p> che CF7 genera attorno ai tag */
.appoint .wpcf7-form p{margin:0}

/* Griglia dei campi (2 colonne) */
.appoint .fields{
  display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0;
}

/* Ogni campo è una cella della griglia */
.appoint .fields .field{min-width:0}

/* Il wrapper interno di CF7 occupa tutta la cella */
.appoint .fields .field .wpcf7-form-control-wrap{display:block;width:100%}

/* Campi a tutta larghezza: Oggetto + Messaggio */
.appoint .fields .field.full{grid-column:span 2}

/* Stile input e textarea */
.appoint .fields input,
.appoint .fields textarea{
  width:100%;border:none;border-bottom:1px solid #ddd;
  padding:10px 5px;outline:none;background:transparent;
  font-family:inherit;font-size:15px;border-radius:0;
}
.appoint .fields input:focus,
.appoint .fields textarea:focus{border-bottom-color:#9bca3c}
.appoint .fields textarea{resize:vertical}

/* Checkbox privacy */
.appoint .wpcf7-acceptance{
  display:block;font-size:13px;color:#777;margin-bottom:20px;
}
.appoint .wpcf7-acceptance .wpcf7-list-item{margin:0}
.appoint .wpcf7-acceptance a{color:#9bca3c}

/* Pulsante Invia (stile .btn del template) */
.appoint .wpcf7-submit{
  display:inline-block;background:#9bca3c;color:#fff;border:none;cursor:pointer;
  padding:14px 30px;border-radius:30px;font-weight:600;font-size:13px;
  letter-spacing:.5px;text-transform:uppercase;transition:.3s;
  max-width: 200px;
}
.appoint .wpcf7-submit:hover{background:#82b22e}

/* Messaggi di CF7 (validazione, invio, errori) */
.appoint .wpcf7-response-output{margin:18px 0 0;border-radius:4px;font-size:14px}
.appoint .wpcf7-not-valid-tip{font-size:12px;color:#e03}
.appoint .wpcf7-spinner{margin:0 8px}

input[type="checkbox"] {
	width: auto;
}

/* =============================================================================
   Responsive
   ========================================================================== */

	@media (max-width: 900px) {

		h1, h2 { font-size: 2.4rem; margin-bottom: 16px; }
		h3 { font-size: 1.9rem; }

		/* Layout: la sidebar diventa un pannello off-canvas */
		.mobile-bar { display: flex; }
		.nav-toggle { display: flex; }
		.nav-close  { display: flex; }

		.sidebar {
			transform: translateX(-100%);
			transition: transform .35s ease;
			width: 300px;
			max-width: 85%;
		}
		.sidebar.open { transform: translateX(0); }
		.sidebar-logo { margin-top: 20px; }

		.site-content { margin-left: 0; }

		.features .grid { grid-template-columns: 1fr 1fr; }
		.feature { border-bottom: 1px solid var(--border); }
		.services .grid { grid-template-columns: 1fr; }
		.service { border: none; margin-bottom: 30px; }
		.footer-main .grid { grid-template-columns: 1fr 1fr; }
		.hero h1 { font-size: 40px; }
		.header-cover h1 { font-size: 3rem; }
		.content-padding { padding: 60px 15px;}
		h1, h2 {font-size: 1.8rem;}
		.header-cover .paragrafo { max-width: 100%; font-size: 1.4rem; }
		.intro-icons {
			display: grid!important;
			grid-template-columns: 1fr 1fr;
			gap: 10px!important;
		}
		.intro-icons p { font-size: 1rem; line-height: 1.4; }
		.wp-block-image .wp-element-caption {display: none;}
		.sidebar-logo {display: none;}
	}
	@media (max-width: 560px) {
		.features .grid, .footer-main .grid { grid-template-columns: 1fr; }

		.appoint { padding: 25px; }
		.appoint .fields { grid-template-columns: 1fr; }
		.appoint .fields .field.full { grid-column: span 1; }

		.footer-col { text-align: center; }
		.footer-main h4:after { left: 50%; transform: translateX(-50%); }
		.contact-row { justify-content: center; }
		.footer-social { justify-content: center; }
		.footer .footer-logo { margin: 0 auto; }
	}

/* =============================================================================
   WordPress Core CSS Styles
   ========================================================================== */

	.alignnone {margin:5px 20px 20px 0;}
	.aligncenter,div.aligncenter {display:block;margin:5px auto 5px auto;}
	.alignright {float:right;margin:5px 0 20px 20px;}
	.alignleft {float:left;margin:5px 20px 20px 0;}
	a img.alignright {float:right;margin:5px 0 20px 20px;}
	a img.alignnone {margin:5px 20px 20px 0;}
	a img.alignleft {float:left;margin:5px 20px 20px 0;}
	a img.aligncenter {display:block;margin-left:auto;margin-right:auto;}
	.wp-caption {background:#fff;border:1px solid var(--border);max-width:96%;padding:5px 3px 10px;text-align:center;}
	.wp-caption.alignnone {margin:5px 20px 20px 0;}
	.wp-caption.alignleft {margin:5px 20px 20px 0;}
	.wp-caption.alignright {margin:5px 0 20px 20px;}
	.wp-caption img {border:0 none;height:auto;margin:0;max-width:98.5%;padding:0;width:auto;}
	.wp-caption p.wp-caption-text,.gallery-caption {font-size:0.79rem;line-height:17px;margin:0;padding:0 4px 5px;}
	.sticky {}
	.bypostauthor {}

	.wp-block-buttons .wp-block-button__link { transition: all 0.3s; }
	.wp-block-buttons .wp-block-button__link:hover {
		background: var(--primary-dark)!important;
		color: #fff!important;
	}

/* =============================================================================
   Print
   ========================================================================== */

	@media print {
		* {background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important;}
		a,a:visited {text-decoration:underline;}
		a[href]:after {content:" (" attr(href) ")";}
		abbr[title]:after {content:" (" attr(title) ")";}
		.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after {content:"";}
		pre,blockquote {border:1px solid #999;page-break-inside:avoid;}
		thead {display:table-header-group;}
		tr,img {page-break-inside:avoid;}
		img {max-width:100% !important;}
		@page {margin:0.5cm;}
		p,h2,h3 {orphans:3;widows:3;}
		h2,h3 {page-break-after:avoid;}
	}
