/* M&C Core – moduli, portfolio, recensioni.
   Usa i colori del tema M&C Wedding con valori di ripiego. */

.mc-form, .mc-portfolio, .mc-reviews {
	--mc-ink: var(--wp--preset--color--inchiostro, #1C1A17);
	--mc-ivory: var(--wp--preset--color--avorio, #F7F3EC);
	--mc-cream: var(--wp--preset--color--crema, #FFFDF9);
	--mc-gold: var(--wp--preset--color--oro, #B8975A);
	--mc-gold-dark: var(--wp--preset--color--oro-scuro, #7A5F30);
	--mc-gold-light: var(--wp--preset--color--oro-chiaro, #E4CF9F);
	--mc-champagne: var(--wp--preset--color--champagne, #C9A96E);
	--mc-text: var(--wp--preset--color--testo, #4A4339);
	--mc-stone: var(--wp--preset--color--pietra, #CFC3AE);
	--mc-taupe: var(--wp--preset--color--taupe, #CBBDA4);
	--mc-serif: var(--wp--preset--font-family--cormorant-garamond, "Cormorant Garamond", Georgia, serif);
	--mc-sans: var(--wp--preset--font-family--jost, Jost, Arial, sans-serif);
}

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ---------- Moduli ---------- */
.mc-form { display: flex; flex-direction: column; gap: 22px; font-family: var(--mc-sans); color: var(--mc-ink); }
.mc-form--card { background: var(--mc-cream); border: 1px solid var(--wp--preset--color--bordo, #E3D9C6); padding: clamp(24px, 4vw, 48px); }
.mc-form--boxed { border: 1px solid #3F3830; padding: clamp(24px, 4vw, 44px); }
.mc-form__title { font-family: var(--mc-serif); font-weight: 500; font-size: 2.125rem; line-height: 1.15; margin: 0; }
.mc-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.mc-form__field { display: flex; flex-direction: column; gap: 8px; font-size: 0.8125rem; letter-spacing: 0.06em; color: var(--mc-text); }
.mc-form__field--full { grid-column: 1 / -1; }
.mc-form input[type=text], .mc-form input[type=email], .mc-form input[type=tel], .mc-form input[type=date], .mc-form input[type=month], .mc-form select, .mc-form textarea {
	font-family: var(--mc-sans); font-size: 1rem; font-weight: 300; color: var(--mc-ink);
	background: #FBF8F3; border: 1px solid #CDBFA6; border-radius: 0;
	padding: 13px 16px; min-height: 50px; width: 100%; box-sizing: border-box; letter-spacing: normal;
}
.mc-form textarea { min-height: 140px; resize: vertical; }
.mc-form input:focus, .mc-form select:focus, .mc-form textarea:focus { outline: 2px solid var(--mc-gold); outline-offset: 1px; border-color: var(--mc-gold); }
.mc-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.mc-form legend { font-size: 0.8125rem; letter-spacing: 0.06em; color: var(--mc-text); padding: 0 0 12px; }

/* Servizi come "pillole" selezionabili */
.mc-form__pills { display: flex; flex-wrap: wrap; gap: 10px; }
.mc-form__pills legend { width: 100%; }
.mc-pill { position: relative; cursor: pointer; }
.mc-pill input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mc-pill span { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; box-sizing: border-box; border: 1px solid var(--mc-gold); font-size: 0.8125rem; letter-spacing: 0.06em; transition: background .15s, color .15s; }
.mc-pill input:checked + span { background: var(--mc-ink); color: var(--mc-ivory); border-color: var(--mc-ink); }
.mc-pill input:focus-visible + span { outline: 2px solid var(--mc-gold); outline-offset: 2px; }

.mc-form__check { display: flex; align-items: flex-start; gap: 12px; font-size: 0.875rem; line-height: 1.6; color: var(--mc-text); }
.mc-form__check input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; accent-color: var(--mc-ink); }
.mc-form__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.mc-form__submit.wp-element-button { align-self: flex-start; border: 0; cursor: pointer; min-height: 52px; }
.mc-form__submit--gold.wp-element-button { background: var(--mc-champagne); color: var(--mc-ink); font-weight: 500; }
.mc-form__submit--gold.wp-element-button:hover { background: var(--mc-gold-light); color: var(--mc-ink); }
.mc-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.mc-form__alt { font-size: 0.875rem; }
.mc-form__error { margin: 0; padding: 12px 16px; border-left: 2px solid #A4442F; background: #F6E7E1; color: #5E2416; font-size: 0.9375rem; }
.mc-form--done { text-align: center; padding-top: 64px; padding-bottom: 64px; }
.mc-form--done p { margin: 0; }
.mc-form__thanks-title { font-family: var(--mc-serif); font-size: 2.5rem; line-height: 1.15; }

/* Variante su sfondo scuro */
.mc-form--dark { color: var(--mc-ivory); }
.mc-form--dark .mc-form__field, .mc-form--dark legend, .mc-form--dark .mc-form__check { color: var(--mc-stone); }
.mc-form--dark .mc-form__thanks-title { color: var(--mc-gold-light); }
.mc-form--dark .mc-form__alt { color: var(--mc-gold-light); }

/* Stelle (input) */
.mc-stars__row { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.mc-stars__row input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mc-stars__row label { cursor: pointer; font-size: 2rem; line-height: 1; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #8A7F70; }
.mc-form:not(.mc-form--dark) .mc-stars__row label { color: #B3A690; }
.mc-stars__row input:checked ~ label,
.mc-stars__row label:hover, .mc-stars__row label:hover ~ label { color: var(--mc-champagne); }
.mc-stars__row input:focus-visible + label { outline: 2px solid var(--mc-gold); outline-offset: 2px; }

/* ---------- Recensioni ---------- */
.mc-reviews { color: var(--mc-ivory); }
.mc-reviews__summary { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 auto; width: fit-content; border: 1px solid #5A5146; padding: 14px 22px; }
.mc-reviews__avg { font-family: var(--mc-serif); font-size: 2.25rem; line-height: 1; color: var(--mc-gold-light); }
.mc-reviews__meta { display: flex; flex-direction: column; gap: 2px; font-size: 0.8125rem; color: var(--mc-stone); }
.mc-reviews__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 28px; }
.mc-review { margin: 0; border: 1px solid #3F3830; padding: 40px 36px; display: flex; flex-direction: column; gap: 18px; }
.mc-review__mark { font-family: var(--mc-serif); font-size: 4rem; line-height: 0.5; color: var(--mc-champagne); }
.mc-review__text { margin: 0; padding: 0; border: 0; font-family: var(--mc-serif); font-style: italic; font-size: 1.375rem; line-height: 1.5; color: #EDE5D6; flex-grow: 1; }
.mc-review__text p { margin: 0 0 .8em; }
.mc-review__text p:last-child { margin-bottom: 0; }
.mc-review__who { display: flex; flex-direction: column; gap: 4px; font-size: 0.8125rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mc-champagne); }
.mc-review__when { color: #A99E8C; letter-spacing: 0.06em; text-transform: none; }
.mc-stars-view { letter-spacing: 0.15em; color: var(--mc-gold-light); font-size: 0.9375rem; }
.mc-stars-view .is-off { opacity: .3; }

.mc-reviews--light { color: var(--mc-ink); }
.mc-reviews--light .mc-review, .mc-reviews--light .mc-reviews__summary { border-color: var(--wp--preset--color--bordo, #E3D9C6); background: var(--mc-cream); }
.mc-reviews--light .mc-review__text { color: var(--mc-ink); }
.mc-reviews--light .mc-review__who { color: var(--mc-gold-dark); }
.mc-reviews--light .mc-review__when, .mc-reviews--light .mc-reviews__meta { color: var(--mc-text); }
.mc-reviews--light .mc-stars-view, .mc-reviews--light .mc-reviews__avg { color: var(--mc-gold-dark); }

/* ---------- Portfolio ---------- */
.mc-portfolio { display: flex; flex-direction: column; gap: 40px; font-family: var(--mc-sans); }
.mc-portfolio__filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.mc-chip { font-family: var(--mc-sans); font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; padding: 12px 22px; min-height: 44px; cursor: pointer; border: 1px solid var(--mc-gold); background: transparent; color: var(--mc-ink); border-radius: 0; }
.mc-chip:hover { border-color: var(--mc-ink); }
.mc-chip.is-active { background: var(--mc-ink); color: var(--mc-ivory); border-color: var(--mc-ink); }
.mc-portfolio__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 40px 28px; align-items: start; }
.mc-portfolio__item { display: flex; flex-direction: column; gap: 12px; text-decoration: none !important; color: var(--mc-ink) !important; }
.mc-portfolio__item[hidden] { display: none; }
.mc-portfolio__img { display: block; height: 380px; background: var(--mc-taupe); overflow: hidden; }
.mc-portfolio__item.is-tall .mc-portfolio__img { height: 460px; }
.mc-portfolio__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.mc-portfolio__item:hover .mc-portfolio__img img { transform: scale(1.03); }
.mc-portfolio__tag { font-size: 0.75rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--mc-gold-dark); margin-top: 6px; }
.mc-portfolio__title { font-family: var(--mc-serif); font-size: 1.75rem; line-height: 1.2; }
.mc-portfolio__place { font-size: 0.875rem; color: var(--mc-text); }
@media (max-width: 781px) {
	.mc-portfolio__img, .mc-portfolio__item.is-tall .mc-portfolio__img { height: 320px; }
}

/* ---------- Varie ---------- */
.mc-empty { text-align: center; opacity: .85; }
.mc-empty--admin { font-size: 0.875rem; border: 1px dashed currentColor; padding: 12px 16px; opacity: .8; }
.mc-instagram__cta { text-align: center; }
.mc-btn-outline.wp-element-button { background: transparent; color: inherit; border: 1px solid var(--wp--preset--color--oro, #B8975A); }

/* ---------- Social e link esterni ---------- */
.mc-social { display: flex; flex-wrap: wrap; gap: 12px; }
.mc-social__link { width: 48px; height: 48px; border: 1px solid var(--wp--preset--color--oro, #B8975A); display: inline-flex; align-items: center; justify-content: center; color: inherit; text-decoration: none; transition: background .2s, color .2s; }
.mc-social__link:hover { background: var(--wp--preset--color--oro, #B8975A); color: var(--wp--preset--color--avorio, #F7F3EC); }
.mc-footer .mc-social__link { color: var(--wp--preset--color--oro-chiaro, #E4CF9F); border-color: #5A5146; }
.mc-reviews__ext { text-align: center; margin: -16px 0 36px; font-size: 0.9375rem; }
.mc-reviews__ext a { color: var(--wp--preset--color--oro-chiaro, #E4CF9F); }
.mc-reviews--light .mc-reviews__ext a { color: var(--wp--preset--color--oro-scuro, #7A5F30); }

/* Fonti delle recensioni affiancate */
.mc-reviews__sources { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 20px; margin: 0 auto 40px; }
.mc-source { display: flex; flex-direction: column; align-items: center; gap: 10px; border: 1px solid #5A5146; padding: 18px 26px; flex: 0 1 380px; min-width: 0; }
.mc-source .mc-reviews__summary { border: 0; padding: 0; margin: 0; }
.mc-source__label { font-size: 0.6875rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--mc-champagne); }
.mc-source__link, .mc-source__more { color: var(--mc-gold-light); font-size: 0.9375rem; }
.mc-source__link { font-family: var(--mc-serif); font-size: 1.25rem; margin: auto 0; }
.mc-source__widget { max-width: 100%; overflow-x: auto; }
.mc-reviews--light .mc-source { border-color: var(--wp--preset--color--bordo, #E3D9C6); background: var(--mc-cream); }
.mc-reviews--light .mc-source__link, .mc-reviews--light .mc-source__more { color: var(--mc-gold-dark); }

.mc-credit a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Pulsante WhatsApp fisso ---------- */
.mc-wa { position: fixed; z-index: 70; right: calc(20px + env(safe-area-inset-right, 0px)); bottom: calc(20px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; align-items: flex-end; gap: 12px; font-family: var(--wp--preset--font-family--jost, Jost, Arial, sans-serif); }
.mc-wa__btn { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 22px 0 18px; border: 0; border-radius: 999px; cursor: pointer; text-decoration: none !important; background: var(--wp--preset--color--inchiostro, #1C1A17); color: var(--wp--preset--color--oro-chiaro, #E4CF9F) !important; box-shadow: 0 10px 28px rgba(28,26,23,.28); font-size: .8125rem; letter-spacing: .16em; text-transform: uppercase; transition: transform .2s, background .2s; }
.mc-wa__btn:hover { background: var(--wp--preset--color--oro-scuro, #7A5F30); color: var(--wp--preset--color--avorio, #F7F3EC) !important; transform: translateY(-2px); }
.mc-wa__btn:focus-visible { outline: 2px solid var(--wp--preset--color--oro, #B8975A); outline-offset: 3px; }
.mc-wa__menu { background: var(--wp--preset--color--avorio, #F7F3EC); border: 1px solid var(--wp--preset--color--oro, #B8975A); box-shadow: 0 14px 34px rgba(28,26,23,.22); padding: 16px; display: flex; flex-direction: column; gap: 8px; min-width: 220px; }
.mc-wa__title { margin: 0 0 4px; font-size: .6875rem; letter-spacing: .24em; text-transform: uppercase; color: var(--wp--preset--color--oro-scuro, #7A5F30); }
.mc-wa__choice { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border: 1px solid var(--wp--preset--color--bordo, #E3D9C6); color: var(--wp--preset--color--inchiostro, #1C1A17) !important; text-decoration: none !important; font-size: 1rem; }
.mc-wa__choice:hover { border-color: var(--wp--preset--color--oro, #B8975A); background: var(--wp--preset--color--crema, #FFFDF9); }
.mc-wa__menu[hidden] { display: none; }
@media (max-width: 600px) { .mc-wa__label { display: none; } .mc-wa__btn { width: 56px; padding: 0; justify-content: center; } }
@media print { .mc-wa { display: none; } }

/* Nota sui contenuti di esempio */
.mc-demo-nota { font-size: .85rem; opacity: .6; margin-top: 2rem; }
