/*!
Theme Name: Marina Pagano
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: marina-pagano
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

Marina Pagano is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* =========================================================
   MARINA PAGANO · LONGEVITY SKIN
   Foglio di stile - da incollare in style.css del tema
   (oppure tramite Aspetto → Personalizza → CSS aggiuntivo)
   ========================================================= */

/* --- Font esterni (alternativa: caricali tramite functions.php) --- */
@import url("https://use.typekit.net/tbc6jph.css");
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400&family=Montserrat:wght@200;300;400;500&display=swap");

/* --- Token cromatici e tipografici --- */
:root {
  --mp-ivory: #F9F1F1;
  --mp-ivory-2: #F2E6E6;
  --mp-ink: #361D2E;
  --mp-ink-soft: #988790;
  --mp-mauve: #988790;
  --mp-rule: rgba(54, 29, 46, .16);
  --mp-clay: #A6C9B3;
  --mp-sage: #A6C9B3;
  --mp-sage-deep: #7FA88E;
  --mp-paper: #FDF8F8;
  --mp-serif: "the-seasons", "Cormorant Garamond", "Times New Roman", serif;
  --mp-serif-display: "the-seasons", "Cormorant Garamond", serif;
  --mp-sans: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  --mp-mono: ui-monospace, "SF Mono", Menlo, monospace;
}

/* Applichiamo la palette al body solo all'interno della home (classe sul template/pagina) */
body.page-marina-pagano,
body.mp-theme {
  background: var(--mp-ivory);
  color: var(--mp-ink);
  font-family: var(--mp-sans);
  font-weight: 300;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.015em;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.page-marina-pagano ::selection,
body.mp-theme ::selection { background: var(--mp-ink); color: var(--mp-ivory); }

/* --- Utility tipografiche --- */
.mp-display {
  font-family: var(--mp-serif-display);
  font-weight: 300;
  font-style: normal;
  line-height: 1.0;
  letter-spacing: -0.01em;
  color: var(--mp-ink);
}
.mp-eyebrow {
  font-family: var(--mp-sans);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--mp-ink-soft);
  display: inline-block;
}
.mp-rule {
  height: 1px;
  background: var(--mp-rule);
  border: 0;
  margin: 0;
  width: 100%;
}
.mp-lede {
  font-family: var(--mp-serif);
  font-size: 21px;
  line-height: 1.5;
  color: var(--mp-ink-soft);
}

/* --- Bottoni --- */
.mp-btn {
  display: inline-block;
  font-family: var(--mp-sans);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  padding: 10px 18px;
  background: var(--mp-sage);
  color: var(--mp-ink) !important;
  border: 1px solid var(--mp-sage);
  border-radius: 999px;
  text-decoration: none;
  transition: all .3s ease;
}
.mp-btn:hover {
  background: var(--mp-sage-deep);
  border-color: var(--mp-sage-deep);
}
.mp-btn--link {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--mp-sage-deep);
  border-radius: 0;
  padding: 0 0 8px;
}
.mp-btn--link:hover {
  background: transparent;
  color: var(--mp-sage-deep) !important;
}
.mp-btn--ink {
  border-bottom-color: var(--mp-ink);
}

/* --- Sezioni --- */
.mp-section {
  padding: 140px 40px;
  border-top: 1px solid var(--mp-rule);
}
.mp-section--paper { background: var(--mp-paper); }
.mp-section--hero {
  min-height: 100vh;
  padding: 160px 40px 80px;
  border-top: 0;
}

/* --- Header / Nav --- */
.mp-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  padding: 24px 40px;
  background: rgba(249, 241, 241, 0.85);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  border-bottom: 1px solid var(--mp-rule);
}
.mp-nav__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}
.mp-nav__links {
  display: flex;
  gap: 36px;
  justify-content: center;
}
.mp-nav__links a {
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--mp-ink);
  text-decoration: none;
  transition: color .3s ease;
}
.mp-nav__links a:hover { color: var(--mp-clay); }
.mp-nav__right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 18px;
}
.mp-nav__logo img { height: 36px; width: auto; }

/* --- Hero --- */
.mp-hero__top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: end;
  margin-bottom: 80px;
}
.mp-hero__title {
  font-size: clamp(64px, 9vw, 148px);
  margin: 0;
}
.mp-hero__title span { display: block; }
.mp-hero__title span:nth-child(2) { padding-left: 14%; }
.mp-hero__title span:nth-child(3) { padding-left: 6%; }
.mp-hero__bottom {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: end;
  gap: 60px;
}
.mp-hero__year {
  font-family: var(--mp-serif-display);
  font-size: 38px;
  line-height: 1;
  letter-spacing: 0.04em;
  color: var(--mp-ink);
}

/* --- Sezione header (eyebrow + rule) --- */
.mp-sec-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 24px;
  align-items: center;
  margin-bottom: 60px;
}
.mp-sec-head--lg { margin-bottom: 90px; }

/* --- About --- */
.mp-about__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 100px;
  align-items: start;
}
.mp-about__title {
  font-size: clamp(42px, 5.4vw, 84px);
  margin: 0 0 56px;
}
.mp-about__body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  max-width: 620px;
}
.mp-about__body p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.75;
  color: var(--mp-ink-soft);
}
.mp-stats {
  margin-top: 80px;
  display: flex;
  gap: 64px;
  padding-top: 36px;
  border-top: 1px solid var(--mp-rule);
}
.mp-stat__n {
  font-family: var(--mp-serif-display);
  font-size: 44px;
  line-height: 1;
  color: var(--mp-ink);
}
.mp-stat__l {
  margin-top: 10px;
}

/* --- Services --- */
.mp-services__title {
  font-size: clamp(48px, 6vw, 96px);
  margin: 0 0 100px;
  max-width: 70%;
}
.mp-services__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.mp-service {
  padding: 40px 28px 32px;
  border-left: 1px solid var(--mp-rule);
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: background .5s ease;
}
.mp-service:last-child { border-right: 1px solid var(--mp-rule); }
.mp-service:hover { background: var(--mp-ivory-2); }
.mp-service__num {
  font-family: var(--mp-serif-display);
  font-size: 32px;
  color: var(--mp-sage-deep);
  letter-spacing: 0.02em;
}
.mp-service__dur { margin-top: 10px; display: block; }
.mp-service__name {
  font-size: 30px;
  margin: 36px 0 20px;
}
.mp-service__body {
  font-size: 13.5px;
  line-height: 1.7;
  color: var(--mp-ink-soft);
  margin: 0;
}
.mp-service__cta {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mp-ink-soft);
}
.mp-service__cta::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 1px;
  background: currentColor;
  transition: width .4s cubic-bezier(.2,.7,.2,1);
}
.mp-service:hover .mp-service__cta { color: var(--mp-clay); }
.mp-service:hover .mp-service__cta::before { width: 32px; }

/* --- Portfolio --- */
.mp-portfolio__head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  margin-bottom: 80px;
}
.mp-portfolio__title {
  font-size: clamp(48px, 6vw, 96px);
  margin: 0;
}
.mp-portfolio__intro {
  padding-top: 24px;
  font-family: var(--mp-serif);
  font-size: 19px;
  line-height: 1.5;
  color: var(--mp-ink-soft);
  max-width: 480px;
}
.mp-portfolio__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 60px;
}
.mp-pitem {
  padding: 32px 0;
  border-top: 1px solid var(--mp-rule);
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 24px;
  align-items: baseline;
  cursor: pointer;
  transition: color .3s ease;
}
.mp-pitem:last-of-type { border-bottom: 1px solid var(--mp-rule); }
.mp-pitem__name {
  font-size: 32px;
  margin: 0;
  transition: color .3s ease;
}
.mp-pitem:hover .mp-pitem__name { color: var(--mp-clay); }
.mp-pitem__place {
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--mp-ink-soft);
  letter-spacing: 0.06em;
}
.mp-portfolio__img {
  position: sticky;
  top: 120px;
  aspect-ratio: 4/5;
  background: var(--mp-ivory-2);
  background-size: cover;
  background-position: center;
}

/* --- Journal --- */
.mp-journal__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 80px;
  gap: 40px;
  flex-wrap: wrap;
}
.mp-journal__title {
  font-size: clamp(48px, 6vw, 96px);
  margin: 0;
}
.mp-journal__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.mp-card {
  cursor: pointer;
  transition: transform .4s ease;
}
.mp-card:hover { transform: translateY(-4px); }
.mp-card__img {
  aspect-ratio: 4/5;
  margin-bottom: 24px;
  background: var(--mp-ivory-2);
  background-size: cover;
  background-position: center;
}
.mp-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 14px;
}
.mp-card__read {
  font-family: var(--mp-mono);
  font-size: 10px;
  color: var(--mp-ink-soft);
  letter-spacing: 0.12em;
}
.mp-card__title {
  font-size: 28px;
  margin: 0 0 12px;
  transition: color .3s ease;
}
.mp-card:hover .mp-card__title { color: var(--mp-clay); }
.mp-card__date {
  font-size: 12px;
  color: var(--mp-ink-soft);
  letter-spacing: 0.04em;
}

/* --- Contact --- */
.mp-contact__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 100px;
  align-items: start;
}
.mp-contact__title {
  font-size: clamp(44px, 5.6vw, 88px);
  margin: 0 0 32px;
  max-width: 14ch;
}
.mp-contact__lede {
  font-family: var(--mp-serif);
  font-size: 19px;
  line-height: 1.6;
  color: var(--mp-ink-soft);
  max-width: 520px;
  margin-bottom: 64px;
}
.mp-contact__cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
}
.mp-contact__cols .mp-eyebrow { margin-bottom: 14px; }
.mp-contact__cols div > div { font-size: 13.5px; line-height: 1.7; color: var(--mp-ink-soft); }
.mp-contact__cols div > .mp-contact__highlight { color: var(--mp-ink); margin-top: 18px; }
.mp-contact__form-wrap {
  padding: 36px;
  background: var(--mp-paper);
  border: 1px solid var(--mp-rule);
}
.mp-contact__form-wrap input,
.mp-contact__form-wrap textarea,
.mp-contact__form-wrap select {
  appearance: none;
  border: 0;
  border-bottom: 1px solid var(--mp-rule);
  background: transparent;
  font-family: var(--mp-serif);
  font-size: 22px;
  padding: 14px 0 12px;
  width: 100%;
  color: var(--mp-ink);
  outline: none;
}
.mp-contact__form-wrap label {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--mp-ink-soft);
}
.mp-contact__form-wrap button[type="submit"] {
  appearance: none;
  cursor: pointer;
  background: var(--mp-sage);
  color: var(--mp-ink);
  border: 0;
  padding: 18px 24px;
  margin-top: 12px;
  font-size: 11px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 500;
  width: 100%;
  transition: background .3s ease;
}
.mp-contact__form-wrap button[type="submit"]:hover { background: var(--mp-sage-deep); }

/* --- Footer --- */
.mp-footer {
  padding: 60px 40px 40px;
  border-top: 1px solid var(--mp-rule);
  background: var(--mp-ink);
  color: var(--mp-ivory);
}
.mp-footer__top {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 60px;
}
.mp-footer__quote {
  font-family: var(--mp-serif);
  font-size: 26px;
  line-height: 1.45;
  color: var(--mp-paper);
  opacity: 0.95;
  max-width: 26ch;
  text-align: center;
}
.mp-footer__caption {
  margin-top: 20px;
  font-size: 10px;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  opacity: 0.6;
}
.mp-footer .mp-eyebrow { color: rgba(249, 241, 241, 0.6); }
.mp-footer__newsletter {
  display: flex;
  border-bottom: 1px solid rgba(249, 241, 241, 0.4);
  max-width: 320px;
  margin-left: auto;
  margin-top: 14px;
}
.mp-footer__newsletter input {
  flex: 1;
  background: transparent;
  border: 0;
  outline: none;
  color: var(--mp-ivory);
  padding: 12px 0;
  font-family: var(--mp-serif);
  font-size: 16px;
}
.mp-footer__newsletter button {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--mp-sage);
  cursor: pointer;
  padding: 12px 0 12px 16px;
  font-size: 18px;
}
.mp-footer__bottom {
  padding-top: 24px;
  border-top: 1px solid rgba(249, 241, 241, 0.18);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  opacity: 0.7;
}
.mp-footer__bottom a {
  color: var(--mp-ivory);
  text-decoration: none;
  margin-left: 28px;
}

/* --- Placeholders immagine (sostituibili con vere foto in Gutenberg) --- */
.mp-placeholder {
  background:
    repeating-linear-gradient(135deg, rgba(54,29,46,.06) 0 1px, transparent 1px 9px),
    var(--mp-ivory-2);
  position: relative;
}
.mp-placeholder--tall  { aspect-ratio: 3/4; }
.mp-placeholder--wide  { aspect-ratio: 16/10; }
.mp-placeholder--square{ aspect-ratio: 1/1; }

/* --- Scroll reveal (opzionale - richiede JS) --- */
.mp-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 1.2s cubic-bezier(.2,.7,.2,1), transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.mp-reveal.in {
  opacity: 1;
  transform: none;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1024px) {
  .mp-services__grid { grid-template-columns: repeat(2, 1fr); }
  .mp-service:nth-child(2) { border-right: 1px solid var(--mp-rule); }
  .mp-journal__grid { grid-template-columns: 1fr 1fr; }
  .mp-footer__top { grid-template-columns: 1fr; }
  .mp-footer__newsletter { margin-left: 0; }
}

@media (max-width: 768px) {
  .mp-section { padding: 80px 24px; }
  .mp-section--hero { padding: 120px 24px 60px; }
  .mp-nav { padding: 16px 24px; }
  .mp-nav__inner { grid-template-columns: 1fr auto; }
  .mp-nav__links { display: none; }
  .mp-hero__top, .mp-hero__bottom { grid-template-columns: 1fr; gap: 40px; }
  .mp-about__grid, .mp-portfolio__head, .mp-portfolio__grid, .mp-contact__grid {
    grid-template-columns: 1fr; gap: 48px;
  }
  .mp-about__body { grid-template-columns: 1fr; }
  .mp-services__grid { grid-template-columns: 1fr; }
  .mp-service { border-right: 1px solid var(--mp-rule); }
  .mp-services__title { max-width: 100%; }
  .mp-journal__grid { grid-template-columns: 1fr; }
  .mp-stats { flex-wrap: wrap; gap: 32px; }
  .mp-portfolio__img { position: static; }
  .mp-footer__bottom { flex-direction: column; gap: 16px; }
  .mp-footer__bottom a { margin: 0 14px; }
}
/* --- Reset specifico per il menu wp_nav_menu dentro la navbar --- */
.mp-nav__links ul,
.mp-nav__links #primary-menu,
.mp-nav__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 36px;
	justify-content: center;
	align-items: center;
}
.mp-nav__links li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.mp-nav__links li::before { content: none; }
.mp-nav__links a {
	font-size: 11px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	font-weight: 400;
	color: var(--mp-ink);
	text-decoration: none;
	transition: color .3s ease;
	padding: 0;
}
.mp-nav__links a:hover { color: var(--mp-clay); }
 
/* --- Nascondi il pulsante "Menu" di underscores su desktop --- */
.mp-nav .menu-toggle {
	display: none;
}
 
/* --- Allineamento corretto del logo --- */
.mp-nav__logo {
	display: inline-flex;
	align-items: center;
}
.mp-nav__logo img,
.mp-nav__logo .custom-logo {
	height: 36px;
	width: auto;
	display: block;
	max-width: none;
}
 
/* --- Stili per il Custom Logo di WordPress (se usato) --- */
.mp-nav .custom-logo-link {
	display: inline-flex;
	align-items: center;
}
.mp-nav .custom-logo-link img {
	height: 36px;
	width: auto;
	display: block;
}
 
/* --- Padding interno nav: bilancia il box --- */
.mp-nav {
	padding: 18px 40px;
}
 
/* --- Mobile: mostra il toggle, nascondi i link --- */
@media (max-width: 900px) {
	.mp-nav__inner {
		grid-template-columns: 1fr auto;
	}
	.mp-nav__links {
		display: none;
	}
	.mp-nav .menu-toggle {
		display: inline-block;
		appearance: none;
		background: transparent;
		border: 1px solid var(--mp-rule);
		border-radius: 999px;
		padding: 8px 14px;
		font-size: 10px;
		letter-spacing: 0.24em;
		text-transform: uppercase;
		color: var(--mp-ink);
		cursor: pointer;
		font-family: var(--mp-sans);
	}
	/* quando il menu e' aperto via JS di underscores */
	.main-navigation.toggled .mp-nav__menu,
	.main-navigation.toggled #primary-menu {
		display: flex;
		flex-direction: column;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: rgba(249, 241, 241, 0.98);
		backdrop-filter: blur(14px);
		padding: 24px 40px;
		gap: 20px;
		align-items: flex-start;
		border-bottom: 1px solid var(--mp-rule);
	}
}