/*
Theme Name: Montgrí Medes 2030
Description: Tema personalitzat creat per placid.cat per a Montgrí Medes 2030, amb integració amb Elementor Pro Theme Builder.
Version: 0.1.3
Author: placid.cat
Author URI: https://placid.cat/
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: montgrimedes2030
License: GPL-2.0-or-later
*/

/* Base normalization and inherited values ported from the audited Astra 4.14
 * installation (GPL-2.0-or-later). Elementor retains the page-specific design. */
address, blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6,
hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
  border: 0; font-size: 100%; font-style: inherit; font-weight: inherit;
  margin: 0; outline: 0; padding: 0; vertical-align: baseline;
}
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; font-size: 100%; border-color: #ddd; }
*, ::before, ::after { box-sizing: inherit; }
body { margin: 0; color: #4b4f58; background: #fff; font-style: normal; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
body:not(.logged-in) { position: relative; }
/* Fill short pages without fixing the footer or limiting long-page content.
 * WordPress reserves the toolbar height through a margin on the root element. */
.mm2030-site {
  --mm2030-toolbar-height: 0px;
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - var(--mm2030-toolbar-height));
  min-height: calc(100dvh - var(--mm2030-toolbar-height));
}
body.admin-bar .mm2030-site { --mm2030-toolbar-height: var(--wp-admin--admin-bar--height, 32px); }
.mm2030-site > #content { flex: 1 0 auto; min-width: 0; }
/* Both translated Elementor footers carry trailing section margins (50px on
 * desktop, 48px on tablet). Their visible last row must reach the page bottom. */
.mm2030-site > footer.elementor-location-footer { flex-shrink: 0; margin-top: auto; }
.mm2030-site > footer.elementor-location-footer > .elementor-section:last-child,
.mm2030-site > footer.elementor-location-footer .elementor-inner-section:last-child { margin-bottom: 0; }
h1, h2, h3, h4, h5, h6 { clear: both; font-family: Roboto, sans-serif; font-weight: 400; color: #3a3a3a; }
h1, .entry-content :where(h1) { font-size: 2.5rem; line-height: 1.4em; }
h2, .entry-content :where(h2) { font-size: 2rem; line-height: 1.3em; }
h3, .entry-content :where(h3) { font-size: 1.625rem; line-height: 1.3em; }
h4, .entry-content :where(h4) { font-size: 1.5rem; line-height: 1.2em; }
h5, .entry-content :where(h5) { font-size: 1.25rem; line-height: 1.2em; }
h6, .entry-content :where(h6) { font-size: 1rem; line-height: 1.25em; }
.entry-content { overflow-wrap: break-word; }
.entry-content::after { content: ''; display: table; clear: both; }
.entry-content :where(h1, h2, h3, h4, h5, h6) { margin-bottom: 20px; }
.elementor-widget-heading .elementor-heading-title { margin: 0; }
p, .entry-content p { margin-bottom: .65em; }
.entry-content > :last-child, .entry-summary > :last-child, .page-content > :last-child { margin-bottom: 0; }
ol, ul { margin: 0 0 1.5em 3em; }
ul { list-style: disc; }
ol { list-style: decimal; }
b, strong { font-weight: 700; }
a { color: #0170b9; background-color: transparent; transition: .2s linear; }
a, a:focus, a:hover, a:visited { text-decoration: none; }
a:active { outline: 0; }
img { border: 0; max-width: 100%; height: auto; vertical-align: middle; }
figure { margin: 0; }
hr { box-sizing: content-box; border: 0; height: 1px; background-color: #ccc; margin-bottom: 1.5em; }
blockquote, q { quotes: '' ''; }
blockquote { position: relative; border-left: 5px solid #ddd; padding: 1.2em; font-size: 1.1em; font-style: italic; margin: 1.5em 1em 1.5em 3em; line-height: inherit; color: #4b4f58; }
button, input, optgroup, select, textarea { color: inherit; font: inherit; margin: 0; }
body, button, input, select, textarea { font-family: Roboto, sans-serif; font-weight: 300; font-size: 1rem; line-height: 1.65em; }
input, select, textarea { color: #808285; }
input { outline: none; }
button, select { text-transform: none; }
button, input[type='button'], input[type='reset'], input[type='submit'] { appearance: button; cursor: pointer; border: 0 solid #9d0371; border-radius: 2px; background: #9d0371; padding: 10px 40px; color: #fff; font-family: inherit; font-weight: inherit; line-height: 1em; }
button[disabled], input[disabled] { cursor: default; }
input[type='email'], input[type='number'], input[type='password'], input[type='search'], input[type='tel'], input[type='text'], input[type='url'], select, textarea { color: #666; padding: .75em; height: auto; border: 1px solid #ddd; border-radius: 2px; background: #fafafa; box-shadow: none; box-sizing: border-box; transition: .2s linear; appearance: none; }
textarea { width: 100%; overflow: auto; }
fieldset { border: 1px solid #ddd; margin: 0; padding: .35em .625em .75em; }
fieldset legend { margin-bottom: 1.5em; padding: 0 .5em; }
table { border-collapse: collapse; border-spacing: 0; }
td, th { padding: 0; }
pre { overflow: auto; }
code, kbd, pre, samp { font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -.5em; } sub { bottom: -.25em; }
@media (max-width: 921px) {
  html { font-size: 91.2%; }
  h1, .entry-content :where(h1) { font-size: 30px; }
  h2, .entry-content :where(h2) { font-size: 25px; }
  h3, .entry-content :where(h3) { font-size: 20px; }
}
.mm2030-skip-link { position: absolute; left: -10000px; top: 0; z-index: 100000; }
.mm2030-skip-link:focus { left: 1rem; top: 1rem; padding: .75rem; background: white; color: black; }
.mm2030-fallback { max-width: 72rem; margin-inline: auto; padding: 1rem; }
.mm2030-fallback img { max-width: 100%; height: auto; }
.mm2030-fallback-nav ul { display: flex; flex-wrap: wrap; gap: 1rem; list-style: none; padding: 0; }
.mm2030-container { max-width: 1240px; margin-inline: auto; padding-inline: 20px; display: flex; }
.mm2030-primary { width: 100%; margin: 4em 0; }
.mm2030-boxed-article { padding: 5.34em 6.67em; background: #fff; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute!important; width: 1px; overflow-wrap: normal!important; }
.mm2030-not-found-layout { padding: 5.34em 6.67em; text-align: center; background: #fff; }
.mm2030-not-found-layout .page-header { margin: 0 0 1.5em; }
.mm2030-not-found-layout .page-title { margin: 0; }
.mm2030-not-found-layout .page-sub-title { font-size: 1.5rem; font-weight: 700; }
.mm2030-not-found-search { margin-top: 1.5em; }
.mm2030-not-found-search .widget_search { max-width: 370px; margin: 0 auto; padding-top: .5em; }
.mm2030-not-found-search .search-form { position: relative; padding: 0; background: initial; color: inherit; }
.mm2030-not-found-search label { position: relative; }
.mm2030-not-found-search .search-field { width: 100%; padding: 12px 45px 12px 15px; }
.mm2030-not-found-search .mm2030-search-submit { position: absolute; top: 0; right: 15px; border: 0; padding: 0; cursor: pointer; background: transparent; }
.mm2030-search-icon { color: #3a3a3a; }
.mm2030-search-icon svg { width: .9em; height: 1em; fill: currentColor; margin: 3px 2px 0 0; }
@media (max-width: 1200px) { .mm2030-boxed-article { padding: 3.34em 2.4em; } }
@media (max-width: 1200px) { .mm2030-not-found-layout { padding: 3.34em 2.4em; } }
@media (max-width: 768px) { .mm2030-not-found-layout { padding: 1.5em 2.14em; } }
@media (max-width: 992px) { .mm2030-primary { margin: 0; padding-block: 4em; } }
@media (max-width: 921px) {
  .mm2030-container { display: block; }
  .mm2030-primary { margin: 1.5em 0; padding: 0; }
  .mm2030-boxed-article { padding: 1.5em 2.14em; }
}
@media (max-width: 544px) {
  .mm2030-container { padding-inline: .54em; }
  .mm2030-boxed-article { padding: 1.5em 1em; }
  .mm2030-not-found-layout { padding: 1.5em 1em; }
}

/* The audited single-post shell keeps its own 20px gutters and 4em spacing. */
.mm2030-single-container { max-width:1240px; margin-inline:auto; padding-inline:20px; display:flex; }
.mm2030-single-primary { width:100%; margin:4em 0; }
@media (max-width:921px) {
  /* Match the original block container and its contained, collapsing margins. */
  .mm2030-single-container { display:flow-root; }
}

/* Gutenberg separators use the audited theme's narrow rule. */
.wp-block-separator, .elementor .wp-block-separator { margin:20px auto; }
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) { max-width:100px; }

/* The reference front pages have the newer per-page heading rhythm.
 * Other source pages retain the older inherited rhythm. Keep native controls stronger. */
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h1.elementor-heading-title { line-height:1.4em; }
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h2.elementor-heading-title { line-height:1.3em; }
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h3.elementor-heading-title { line-height:1.3em; }
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h4.elementor-heading-title { line-height:1.2em; }
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h5.elementor-heading-title { line-height:1.2em; }
:where(body.home) .elementor-widget-heading:where(:not(.mm2030-heading-flow-yes,.mm2030-dynamic-text-yes)) h6.elementor-heading-title { line-height:1.25em; }
