/*
Theme Name: CDA Cappa (booking)
Theme URI: https://www.colazionedaaugusta.it/
Description: Tema child di Twenty Twenty-Four per il negozio /booking/ di Colazione da Augusta: header, footer, css e script del template Cappa (acquistato) arrivano dal sito CMS (endpoint /api/guscio/, mu-plugin cda-booking); qui i template di pagina in blocchi core (testata a immagine, contenitore) e gli stili che adattano WooCommerce e Pinpoint al CSS Cappa. Creato il 1 ott 2026, rivisto il 13 ott 2026. Dal 20 ott 2026 ogni template del padre ha la sua versione Cappa (testata a immagine + rimando alla home page nei template residui, vedi functions.php).
Author: Colazione da Augusta
Template: twentytwentyfour
Version: 1.4.6
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: cda-cappa
*/

/* =========================================================================================================
   Contenitori
   .cda-main  = pagine con layout proprio (scheda prodotto, archivi, 404): spazio sopra per la navbar Cappa, che e'
                fissa e trasparente; la scheda camera mette la sua immagine sopra (margine negativo del mu-plugin).
   .cda-page  = pagine con testata a immagine (carrello, checkout, ordine, account): la testata e' un blocco Cover
                a filo in alto, il contenuto sta in un .container sotto.
   ========================================================================================================= */
.cda-main { padding: 140px 0 60px; }
.cda-page { padding: 3.75rem 0 4rem; }
@media (max-width: 991.98px) { .cda-page { padding: 2.5rem 0 3rem; } }
:is(.cda-main, .cda-page) .wp-block-group.is-layout-constrained > * { max-width: none; }   /* il tema padre non impone i 620px ai blocchi classici */
:is(.cda-main, .cda-page) .container { max-width: 1140px; margin-left: auto; margin-right: auto; }
/* woocommerce-blocktheme.css limita .woocommerce e il titolo a 1000px nelle pagine carrello, checkout e account */
.woocommerce-cart main .woocommerce,
.woocommerce-checkout main .woocommerce,
.woocommerce-account main .woocommerce { max-width: none; }
.cda-main .container > .wp-block-post-title { font-family: 'Gilda Display', serif; font-size: 36px; margin-bottom: 30px; }

/* testata a immagine delle pagine WordPress: come header.header.bg-img del sito (velo scuro 40%, titolo maiuscolo) */
.wp-block-cover.cda-hero { margin: 0; padding: 130px 0 50px; min-height: 50vh; }
.cda-hero :is(.wp-block-post-title, .cda-hero__titolo) {
	margin: 0;
	font-family: 'Gilda Display', serif;
	font-size: 55px;
	font-weight: 400;
	line-height: 1.35em;
	letter-spacing: 15px;
	text-transform: uppercase;
	color: #fff;
}
@media (max-width: 991.98px) { .cda-hero :is(.wp-block-post-title, .cda-hero__titolo) { font-size: 40px; letter-spacing: 10px; } .wp-block-cover.cda-hero { padding-top: 110px; } }
@media (max-width: 575.98px) { .cda-hero :is(.wp-block-post-title, .cda-hero__titolo) { font-size: 30px; letter-spacing: 6px; } }

/* template residui (pagina che non fa parte del sito): un solo rimando alla home page, sotto la testata */
.cda-rimando { margin: 0; text-align: center; font-size: 20px; line-height: 1.7; }
.cda-rimando a { color: #aa8453; text-decoration: underline; }
.cda-rimando a:hover { color: #222; }

/* =========================================================================================================
   WooCommerce dentro Cappa. Il CSS di Cappa ha regole globali che Woo non si aspetta: span e a inline-block, input
   e select senza bordo o alti 70px, bordi su ogni td, immagini a larghezza piena. Qui si ripristinano i componenti
   Woo (campi, select2, tabelle, metodi di pagamento) e si dispongono nei colori del sito.
   ========================================================================================================= */
:is(.cda-main, .cda-page) .woocommerce-breadcrumb { margin-bottom: 24px; font-family: 'Barlow Condensed', sans-serif; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; }
:is(.cda-main, .cda-page) .woocommerce-breadcrumb a { color: #222; }
:is(.cda-main, .cda-page) .woocommerce-breadcrumb a:hover { color: #aa8453; }

/* bottoni (.butn-dark del sito) */
:is(.cda-main, .cda-page) .woocommerce .button,
:is(.cda-main, .cda-page) .woocommerce a.button,
:is(.cda-main, .cda-page) .woocommerce button.button,
:is(.cda-main, .cda-page) .woocommerce input.button,
:is(.cda-main, .cda-page) .woocommerce #respond input#submit,
:is(.cda-main, .cda-page) .woocommerce a.button.alt,
:is(.cda-main, .cda-page) .woocommerce button.button.alt,
:is(.cda-main, .cda-page) #place_order {
	display: inline-block;
	padding: 13px 22px;
	background: #aa8453;
	color: #fff;
	border: 0;
	border-radius: 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 3px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s ease;
}
:is(.cda-main, .cda-page) .woocommerce .button:hover,
:is(.cda-main, .cda-page) .woocommerce a.button:hover,
:is(.cda-main, .cda-page) .woocommerce button.button:hover,
:is(.cda-main, .cda-page) .woocommerce input.button:hover,
:is(.cda-main, .cda-page) .woocommerce a.button.alt:hover,
:is(.cda-main, .cda-page) .woocommerce button.button.alt:hover,
:is(.cda-main, .cda-page) #place_order:hover { background: #222; color: #fff; }
:is(.cda-main, .cda-page) .woocommerce button.button:disabled,
:is(.cda-main, .cda-page) .woocommerce button.button[disabled] { opacity: .5; cursor: not-allowed; background: #aa8453; }
:is(.cda-main, .cda-page) .woocommerce button[name="update_cart"],
:is(.cda-main, .cda-page) .woocommerce button[name="apply_coupon"] { background: transparent; color: #aa8453; box-shadow: inset 0 0 0 1px #aa8453; }
:is(.cda-main, .cda-page) .woocommerce button[name="update_cart"]:hover,
:is(.cda-main, .cda-page) .woocommerce button[name="apply_coupon"]:hover { background: #aa8453; color: #fff; }
:is(.cda-main, .cda-page) #place_order,
:is(.cda-main, .cda-page) .wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; padding: 16px 22px; text-align: center; font-size: 16px; }

/* messaggi */
:is(.cda-main, .cda-page) .woocommerce-message,
:is(.cda-main, .cda-page) .woocommerce-info,
:is(.cda-main, .cda-page) .woocommerce-error,
:is(.cda-main, .cda-page) .wc-block-components-notice-banner {
	margin: 0 0 24px;
	padding: 14px 20px 14px 52px;
	background: #f8f5f0;
	border: 0;
	border-left: 3px solid #aa8453;
	border-radius: 0;
	color: #666;
	list-style: none;
}
:is(.cda-main, .cda-page) .wc-block-components-notice-banner { padding-left: 20px; }
:is(.cda-main, .cda-page) .woocommerce-error { border-left-color: #b94a48; }
:is(.cda-main, .cda-page) .woocommerce-message::before,
:is(.cda-main, .cda-page) .woocommerce-info::before { color: #aa8453; }
:is(.cda-main, .cda-page) .woocommerce-message .button,
:is(.cda-main, .cda-page) .woocommerce-info .button { float: right; margin-left: 20px; }

/* campi: a tutta larghezza (Cappa rende inline-block gli span, quindi gli input restavano stretti) */
:is(.cda-main, .cda-page) .woocommerce-input-wrapper,
:is(.cda-main, .cda-page) .woocommerce form .form-row .select2-container { display: block; width: 100% !important; }
:is(.cda-main, .cda-page) .woocommerce form .form-row { margin-bottom: 18px; }
:is(.cda-main, .cda-page) .woocommerce form .form-row label { display: block; margin-bottom: 4px; font-size: 14px; line-height: 1.5; color: #222; }
:is(.cda-main, .cda-page) .woocommerce form .form-row label.checkbox,
:is(.cda-main, .cda-page) .woocommerce form .form-row .woocommerce-form__label-for-checkbox { display: flex; gap: 10px; align-items: flex-start; }
:is(.cda-main, .cda-page) .woocommerce form .form-row .required { display: inline; color: #aa8453; text-decoration: none; }
:is(.cda-main, .cda-page) .woocommerce form .form-row input.input-text,
:is(.cda-main, .cda-page) .woocommerce form .form-row textarea,
:is(.cda-main, .cda-page) .woocommerce form .form-row select:not(.select2-hidden-accessible),
:is(.cda-main, .cda-page) .woocommerce form.woocommerce-form-login input.input-text,
:is(.cda-main, .cda-page) .woocommerce #coupon_code,
:is(.cda-main, .cda-page) .woocommerce .quantity .qty {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	box-shadow: none;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #666;
}
:is(.cda-main, .cda-page) .woocommerce form .form-row input.input-text:focus,
:is(.cda-main, .cda-page) .woocommerce form .form-row textarea:focus,
:is(.cda-main, .cda-page) .woocommerce form .form-row select:focus,
:is(.cda-main, .cda-page) .woocommerce #coupon_code:focus { border-color: #aa8453; outline: 0; }
:is(.cda-main, .cda-page) .woocommerce form .form-row textarea { min-height: 110px; }
:is(.cda-main, .cda-page) .woocommerce .quantity .qty { width: 80px; text-align: center; }
:is(.cda-main, .cda-page) input[type="checkbox"]:not([class*="wc-block"]),
:is(.cda-main, .cda-page) input[type="radio"]:not([class*="wc-block"]) { display: inline-block; width: auto; margin: 5px 0 0; accent-color: #aa8453; }

/* select2 (paese, provincia): stessa altezza dei campi di testo */
:is(.cda-main, .cda-page) .select2-container--default .select2-selection--single {
	height: auto;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
}
:is(.cda-main, .cda-page) .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.5; color: #666; }
:is(.cda-main, .cda-page) .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; right: 10px; height: 20px; margin-top: -10px; }
.select2-dropdown { border: 1px solid #e5e5e5; border-radius: 0; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: #aa8453; color: #fff; }

/* checkout: dati a sinistra, notizie a destra, riepilogo e pagamento sotto a tutta larghezza */
:is(.cda-main, .cda-page) .woocommerce-checkout h3,
:is(.cda-main, .cda-page) .woocommerce .cart_totals h2,
:is(.cda-main, .cda-page) .woocommerce-MyAccount-content h2 { margin: 0 0 20px; font-size: 1.5rem; }
:is(.cda-main, .cda-page) #order_review_heading { margin-top: 30px; }

/* tabelle (carrello, riepilogo ordine, ordini): a tutta larghezza del contenitore */
:is(.cda-main, .cda-page) .woocommerce table.shop_table,
:is(.cda-main, .cda-page) .woocommerce table.my_account_orders {
	width: 100%;
	margin: 0 0 25px;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	border-collapse: collapse;
}
:is(.cda-main, .cda-page) .woocommerce table.shop_table th,
:is(.cda-main, .cda-page) .woocommerce table.shop_table td { padding: 12px 14px; border: 0; border-bottom: 1px solid #e5e5e5; vertical-align: middle; text-align: left; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table thead th,
:is(.cda-main, .cda-page) .woocommerce table.my_account_orders th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: #aa8453;
}
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name a { color: #222; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name a:hover { color: #aa8453; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-thumbnail img { width: 80px; height: auto; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table dl.variation { margin: 6px 0 0; font-size: 14px; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table dl.variation dt { float: left; clear: left; margin-right: 6px; font-weight: 400; color: #222; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table dl.variation dd { margin: 0; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table dl.variation p { margin: 0; }
:is(.cda-main, .cda-page) .woocommerce a.remove { display: inline-block; width: 26px; height: 26px; line-height: 24px; border: 1px solid #aa8453; border-radius: 0; color: #aa8453 !important; font-size: 18px; text-align: center; background: transparent; }
:is(.cda-main, .cda-page) .woocommerce a.remove:hover { background: #aa8453; color: #fff !important; }
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions .coupon { display: flex; flex-wrap: wrap; gap: 10px; float: none; }
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions .coupon #coupon_code { width: 200px; }
body.woocommerce-cart :is(.cda-main, .cda-page) .cart-collaterals .cart_totals { float: none; width: 100%; max-width: 480px; margin-left: auto; }

/* cassa a blocchi: l'email subito sotto il telefono (richiesta di Enrico, 20 ott 2026). WooCommerce blocca il blocco
   "Informazioni di contatto" in cima e non lo lascia spostare dall'editor: qui il modulo diventa una colonna flex e i
   passi si riordinano (fatturazione, poi contatto senza titolo, poi il resto nell'ordine di WooCommerce). */
body.woocommerce-checkout .wc-block-checkout__form { display: flex; flex-direction: column; }
body.woocommerce-checkout .wc-block-checkout__form > * { order: 5; }
body.woocommerce-checkout .wc-block-checkout__form > .wc-block-checkout__billing-fields { order: 1; }
body.woocommerce-checkout .wc-block-checkout__form > .wc-block-checkout__contact-fields { order: 2; margin-top: 0; padding-top: 0; }
body.woocommerce-checkout .wc-block-checkout__form > .wc-block-checkout__shipping-fields { order: 3; }
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__heading,
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__description { display: none; }
body.woocommerce-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__container { padding-top: 0; }

/* "ordine ricevuto" a blocchi: meno aria fra i riquadri (20 ott 2026, "lo spazio vuoto abbonda") */
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-status { margin: 0 0 8px; }
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-summary { margin: 20px 0 28px; }
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper { margin-top: 24px; }
body.woocommerce-order-received .wp-block-woocommerce-order-confirmation-additional-information { margin-top: 20px; }
body.woocommerce-order-received :is(.wp-block-woocommerce-order-confirmation-totals-wrapper, .wc-block-order-confirmation-address-wrapper, .wp-block-woocommerce-order-confirmation-additional-information) h2,
body.woocommerce-order-received .woocommerce-bacs-bank-details h2 { margin: 0 0 10px; font-size: 1.35rem; }
body.woocommerce-order-received .wc-block-order-confirmation-totals table th,
body.woocommerce-order-received .wc-block-order-confirmation-totals table td { padding: 9px 12px; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta li { margin: 2px 0; font-size: 13px; }
body.woocommerce-order-received .wc-block-order-confirmation-address { padding: 12px 16px; }

/* "ordine ricevuto": da 992px dettagli ordine a sinistra (2/3) e indirizzo a destra (1/3), riga del prodotto senza
   il "x 1", dettagli della camera a due colonne come nel carrello (20 ott 2026, 'pagina sgraziata') */
@media (min-width: 992px) {
    body.woocommerce-order-received main.cda-page > .container { display: grid; grid-template-columns: 2fr 1fr; column-gap: 32px; align-items: start; }
    body.woocommerce-order-received main.cda-page > .container > * { grid-column: 1 / -1; }
    body.woocommerce-order-received main.cda-page > .container > .wp-block-woocommerce-order-confirmation-totals-wrapper { grid-column: 1; }
    body.woocommerce-order-received main.cda-page > .container > .wc-block-order-confirmation-address-wrapper { grid-column: 2; margin-top: 0; }
    body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper .wp-block-column { flex-basis: 100% !important; }
}
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-order-item-quantity, body.woocommerce-order-received .product-quantity { display: none; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 12px; row-gap: 2px; margin: 8px 0 0; padding: 0; list-style: none; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta li { display: contents; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta li strong { font-weight: 400; color: #777; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta li p { margin: 0; display: inline; }
/* testata del negozio a 30vh su telefono, come il CMS */
@media (max-width: 767.98px) { .wp-block-cover.cda-hero { min-height: 30vh !important; padding-top: 70px; } .cda-hero :is(.wp-block-post-title, .cda-hero__titolo) { font-size: 22px; letter-spacing: 5px; } }

/* metodi di pagamento */
:is(.cda-main, .cda-page) .woocommerce-checkout #payment { background: #f8f5f0; border-radius: 0; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment ul.payment_methods { margin: 0; padding: 18px 20px; list-style: none; border-bottom: 1px solid #e5e5e5; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment ul.payment_methods li { margin: 0 0 12px; list-style: none; line-height: 1.75; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment ul.payment_methods li > label { display: inline; margin: 0 0 0 6px; font-size: 15px; color: #222; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment ul.payment_methods li img { display: inline-block; width: auto; max-height: 28px; margin-left: 8px; vertical-align: middle; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment div.payment_box { margin: 10px 0 0; padding: 14px 18px; background: #fff; border: 1px solid #e5e5e5; border-radius: 0; font-size: 14px; color: #666; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment div.payment_box::before { display: none; }
:is(.cda-main, .cda-page) .woocommerce-checkout #payment div.form-row { padding: 18px 20px; margin: 0; }
:is(.cda-main, .cda-page) .woocommerce-privacy-policy-text,
:is(.cda-main, .cda-page) .woocommerce-terms-and-conditions-wrapper { font-size: 13px; color: #888; }

/* account */
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation ul { margin: 0 0 25px; padding: 0; list-style: none; border: 1px solid #e5e5e5; }
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #f1eeeb; }
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation a { display: block; padding: 11px 18px; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 2px; text-transform: uppercase; color: #222; }
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation a:hover { color: #aa8453; }
:is(.cda-main, .cda-page) .woocommerce-MyAccount-navigation li.is-active a { background: #aa8453; color: #fff; }
:is(.cda-main, .cda-page) .woocommerce form.login,
:is(.cda-main, .cda-page) .woocommerce form.register,
:is(.cda-main, .cda-page) .woocommerce form.lost_reset_password { padding: 25px; border: 1px solid #e5e5e5; border-radius: 0; }
:is(.cda-main, .cda-page) .woocommerce .woocommerce-Address { padding: 18px 20px; background: #f8f5f0; }

/* scheda prodotto e elenchi */
:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive { margin-bottom: 25px; }
.cda-main .woocommerce-message, .cda-main .woocommerce-info, .cda-main .woocommerce-error { border-top-color: #aa8453; }
.cda-main .woocommerce div.product .product_title { font-family: 'Gilda Display', serif; }
.cda-main .woocommerce ul.products li.product .price,
.cda-main .woocommerce div.product p.price { color: #aa8453; font-family: 'Barlow Condensed', sans-serif; letter-spacing: 1px; }

/* =========================================================================================================
   Schermi stretti: il carrello e il riepilogo ordine impilano le righe (woocommerce-smallscreen.css); qui solo
   gli adattamenti al CSS Cappa.
   ========================================================================================================= */
@media (max-width: 767.98px) {
	:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive tr td { text-align: right; }
	:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive tr td.product-thumbnail,
	:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive tr td.product-remove { text-align: left; }
	:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive tr td.actions { text-align: left; }
	:is(.cda-main, .cda-page) .woocommerce table.shop_table_responsive tr td.product-thumbnail::before { display: none; }
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions .coupon { float: none; width: 100%; }
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions .coupon #coupon_code { flex: 1 1 140px; width: auto; }
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions > .button { width: 100%; margin-top: 10px; }
	body.woocommerce-cart :is(.cda-main, .cda-page) .cart-collaterals .cart_totals { max-width: none; }
	:is(.cda-main, .cda-page) .woocommerce form .form-row-first,
	:is(.cda-main, .cda-page) .woocommerce form .form-row-last { width: 100%; float: none; }
}

/* dettagli della prenotazione Pinpoint nella cella "Prodotto" (carrello classico, 20 ott 2026). Il mu-plugin
   cda-booking-prenotazioni li spezza in coppie nome/valore (dl.variation con un dt/dd per riga: Check in, Check out,
   N. stanze, Prezzo, Deposito...): qui diventano una griglia a due colonne compatta, etichetta a sinistra e valore a
   destra, invece di una lista verticale di 20 righe. Vale anche sugli schermi stretti. */
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name dl.variation { display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: 14px; row-gap: 3px; margin: 10px 0 0; font-size: 14px; line-height: 1.45; text-align: left; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name dl.variation dt { float: none; clear: none; margin: 0; font-weight: 400; color: #777; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name dl.variation dd { margin: 0; color: #222; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name dl.variation dt.variation- { display: none; }
/* colonna "Quantita'": Pinpoint nasconde il campo (una camera = una prenotazione), la colonna resta vuota: via */
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart th.product-quantity,
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-quantity { display: none; }
/* prezzo e subtotale strette e allineate a destra: lo spazio va alla cella del prodotto */
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart th.product-price,
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-price,
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart th.product-subtotal,
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-subtotal { width: 1%; white-space: nowrap; text-align: right; }
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-name > a { font-size: 17px; }
/* celle della riga allineate in alto: prezzo e subtotale accanto al nome della camera, non a meta' dei dettagli */
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart tr.cart_item > td { vertical-align: top; }
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart tr.cart_item > td.product-price,
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart tr.cart_item > td.product-subtotal { padding-top: 15px; }
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart tr.cart_item > td.product-remove { padding-top: 12px; }
/* "Aggiorna carrello": senza quantita' modificabili non serve a niente, e da disabilitato era un rettangolo beige vuoto */
body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.actions > button[name="update_cart"] { display: none; }
@media (max-width: 767.98px) {
	/* schermi stretti: il nome del prodotto e i dettagli restano a sinistra, senza l'etichetta "Prodotto:" di Woo */
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-name { text-align: left; }
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-name::before { display: none; }
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-price,
	body.woocommerce-cart :is(.cda-main, .cda-page) table.cart td.product-subtotal { width: auto; white-space: normal; }
}
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name table.dopbsp-wc-cart { display: table; width: 100%; margin: 4px 0 8px; border: 0; border-collapse: collapse; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name table.dopbsp-wc-cart tbody { display: table-row-group; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name table.dopbsp-wc-cart tr { display: table-row; background: none; border: 0; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name table.dopbsp-wc-cart td { display: table-cell; width: auto !important; padding: 3px 10px 3px 0; border: 0; background: none; text-align: left; font-size: 14px; line-height: 1.5; }
:is(.cda-main, .cda-page) .woocommerce table.shop_table td.product-name table.dopbsp-wc-cart td::before { content: none !important; display: none !important; }
@media (max-width: 767.98px) {
	.wp-block-cover.cda-hero { min-height: 260px !important; padding: 100px 0 30px; }   /* il Cover mette min-height:50vh inline */
}

/* select2 (paese, provincia) a tutta larghezza come i campi di testo: span.selection restava inline-flex da 92px (regola
   globale di Cappa sugli span) e il tema di Woo mette 0.9rem/1.1rem di padding con una specificita' piu' alta; la freccia
   la nasconde Cappa. */
:is(.cda-main, .cda-page) .select2-container .selection { display: block; width: 100%; }
html body :is(.cda-main, .cda-page) form .form-row .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 26px 0 0; line-height: 1.5; color: #666; }
html body :is(.cda-main, .cda-page) .select2-container--default .select2-selection--single .select2-selection__arrow { display: block; top: 50%; right: 8px; width: 20px; height: 20px; margin-top: -10px; }

/* =========================================================================================================
   Checkout su schermi larghi: dati di fatturazione su una griglia a 12 colonne a tutta larghezza (nome e cognome
   affiancati, indirizzo e interno, CAP / citta' / provincia, telefono ed email), note sotto. Woo li mette in una
   colonna sola da 536px con solo nome e cognome affiancati.
   ========================================================================================================= */
@media (min-width: 768px) {
	.woocommerce-checkout form.checkout #customer_details.col2-set { display: block; }
	.woocommerce-checkout form.checkout #customer_details .col-1,
	.woocommerce-checkout form.checkout #customer_details .col-2 { float: none; width: 100%; max-width: none; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 20px;
	}
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .form-row {
		grid-column: span 12;
		float: none;
		width: 100%;
		margin-right: 0;
	}
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_first_name_field,
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_last_name_field,
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_phone_field,
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_email_field { grid-column: span 6; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_address_1_field { grid-column: span 8; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_address_2_field { grid-column: span 4; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_postcode_field { grid-column: span 3; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_city_field { grid-column: span 5; }
	.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > #billing_state_field { grid-column: span 4; }
}

/* =========================================================================================================
   Scheda camera (mu-plugin cda-booking). Desktop: la colonna "Comodita'" resta in vista mentre si legge il testo (sticky),
   cosi' il testo non resta solo a sinistra quando il blocco esce dallo schermo; la testata e' una dissolvenza fra le
   foto della camera (assets/js/room-slideshow.js), piu' alta. Su telefono resta l'immagine singola.
   ========================================================================================================= */
@media (min-width: 768px) {
	.cda-room > .row { align-items: flex-start; }
	/* ancorata alla barra del menu: --cda-nav-bottom la scrive assets/js/nav-offset.js (altezza vera della barra
	   "scrollata": 90px sotto i 992px, 200px sopra); senza js si usano questi valori */
	.cda-room-comodita { position: sticky; top: calc(var(--cda-nav-bottom, 90px) + 1.5rem); }
}
@media (min-width: 992px) {
	.cda-room-comodita { top: calc(var(--cda-nav-bottom, 200px) + 1.5rem); }
}
@media (min-width: 992px) {
	body .cda-main .cda-room-header { min-height: 62vh; }
}
.cda-room-header { overflow: hidden; }
.cda-room-header .cda-room-slide {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.cda-room-header .cda-room-slide.is-on { opacity: 1; }
/* le foto della camera sono una sola sezione: su schermi larghi fanno la testata (js), su telefono il carosello in fondo;
   lo script mette la classe sull'elemento html solo quando la dissolvenza e' attiva */
.cda-room-slideshow .cda-room-gallery,
.cda-room-slideshow .cda-room-foto-titolo { display: none; }

/* =========================================================================================================
   Checkout a blocchi (WooCommerce Blocks). Le regole globali di Cappa (img { width: 100% }) allargavano i loghi delle
   carte dei metodi di pagamento a tutta la riga: qui tornano alla loro dimensione. Il riepilogo e le miniature dei
   prodotti non si toccano.
   ========================================================================================================= */
.wp-block-woocommerce-checkout [class*="payment-method"] img,
.wp-block-woocommerce-checkout .wc-block-components-radio-control-accordion-content img,
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 34px;
	margin: 2px 8px 2px 0;
	vertical-align: middle;
}

/* riepilogo dell'ordine a blocchi. La descrizione breve del prodotto (troncata con i puntini) e' solo rumore; i dettagli
   della prenotazione sono <div class="wc-block-components-product-details"> con un <span> per voce (nome, valore e un
   " / " aria-hidden come separatore): una riga per voce, nome a sinistra e valore a destra, niente barre. */
.wc-block-components-order-summary .wc-block-components-product-metadata__description { display: none; }
.wc-block-components-product-details {
	display: block;
	margin: 0.35rem 0 0;
	font-size: 0.8125rem;
	line-height: 1.3;
}
.wc-block-components-product-details > span {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.75rem;
	margin: 0;
	padding: 0.1rem 0;
	border-bottom: 1px solid #f1eeeb;
}
.wc-block-components-product-details > span:last-child { border-bottom: 0; }
.wc-block-components-product-details > span > [aria-hidden="true"] { display: none; }
.wc-block-components-product-details > span > .wc-block-components-product-details__name {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	font-weight: 400;
	color: #222;
}
.wc-block-components-product-details > span > .wc-block-components-product-details__value {
	flex: 0 0 auto;
	margin: 0 0 0 auto;
	text-align: right;
	white-space: nowrap;
}

/* pulsanti dei blocchi WooCommerce (Effettua ordine, Applica codice...): WooCommerce non da' loro uno sfondo e il
   "button { background: transparent }" di Cappa li lasciava senza aspetto. Stesso look di .butn-dark. */
button.wc-block-components-button:not(.is-link),
a.wc-block-components-button:not(.is-link) {
	background: #aa8453;
	color: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 13px 22px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 3px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .3s ease;
}
button.wc-block-components-button:not(.is-link):hover,
a.wc-block-components-button:not(.is-link):hover { background: #222; color: #fff; }
button.wc-block-components-button:not(.is-link):disabled { opacity: .5; cursor: not-allowed; }
button.wc-block-components-button:not(.is-link).outlined,
button.wc-block-components-button:not(.is-link).is-style-outline,
button.wc-block-components-button:not(.is-link).text {
	background: transparent;
	color: #aa8453;
	box-shadow: inset 0 0 0 1px #aa8453;
}
button.wc-block-components-button:not(.is-link).outlined:hover,
button.wc-block-components-button:not(.is-link).is-style-outline:hover,
button.wc-block-components-button:not(.is-link).text:hover { background: #aa8453; color: #fff; }
button.wc-block-components-checkout-place-order-button {
	width: 100%;
	padding: 18px 30px;
	font-size: 16px;
}

/* checkbox dei blocchi (accettazione termini): dimensioni e bordo espliciti, indipendenti dal colore del testo */
.wc-block-components-checkbox label {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.wc-block-components-checkbox label input.wc-block-components-checkbox__input[type="checkbox"] {
	display: block;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	margin: 0;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid #aa8453;
	border-radius: 0;
	opacity: 1;
	visibility: visible;
	position: static;
}
.wc-block-components-checkbox label input.wc-block-components-checkbox__input[type="checkbox"]:checked { background: #aa8453; }
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: #fff; margin: 2px 0 0 2px; }

/* telefono: il checkout a blocchi ripete il riepilogo (.checkout-order-summary-block-fill-wrapper, nascosto da WooCommerce
   da 700px in su) dentro .wc-block-checkout__actions, prima del pulsante. Lo si sposta dopo il pulsante con "order". */
.wc-block-checkout__actions {
	display: flex;
	flex-direction: column;
}
.wc-block-checkout__actions > .checkout-order-summary-block-fill-wrapper,
.wc-block-checkout__actions > :has(> .checkout-order-summary-block-fill-wrapper) {
	order: 3;
	margin-top: 28px;
}

/* riga di accettazione dei termini: in oro, per distinguerla dal campo "Aggiungi note all'ordine" */
.wc-block-checkout__terms,
.wc-block-checkout__terms .wc-block-components-checkbox__label { color: #aa8453; }
.wc-block-checkout__terms a { color: inherit; text-decoration: underline; }
