/*
Theme Name: Grand Marina Da Nang
Theme URI: https://grandmarinadanang-sale.com.vn
Author: Grand Marina site team
Description: Editable block theme for the Grand Marina Da Nang project website.
Version: 1.1.1
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: grandmarina
*/

:root {
  --gm-ink: #142b3a;
  --gm-navy: #122a25;
  --gm-deep: #0d201c;
  --gm-gold: #bf9469;
  --gm-gold-light: #e1c7a8;
  --gm-paper: #f7f5f0;
  --gm-white: #fff;
  --gm-muted: #3e5156;
  --gm-border: #e6e4de;
  --gm-serif: Georgia, 'Times New Roman', serif;
  --gm-sans: Arial, 'Segoe UI', sans-serif;
}

html { scroll-behavior: smooth; }
body { margin: 0; color: var(--gm-ink); background: var(--gm-paper); font-family: var(--gm-sans); }
* { box-sizing: border-box; }
img { max-width: 100%; }
a { color: inherit; }
.wp-site-blocks > * + *, .gm-main .wp-block-post-content > * + * { margin-block-start: 0 !important; }
body.admin-bar .gm-site-header { top: 32px; }
.gm-site-header { position: sticky; top: 0; z-index: 50; background: #0d201c; color: white; box-shadow: 0 6px 30px rgba(6, 27, 40, .12); }
.gm-header-inner { max-width: 1440px; margin: 0 auto; padding: 14px 36px; min-height: 72px; }
.gm-site-header .wp-block-site-title { margin: 0; line-height: 1.05; }
.gm-site-header .wp-block-site-title a { color: white; font-family: var(--gm-sans); font-size: clamp(18px, 1.55vw, 23px); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; white-space: nowrap; }
.gm-site-header .wp-block-site-title a:hover { color: var(--gm-gold-light); }
.gm-site-header .wp-block-navigation { font-size: 14px; font-weight: 700; letter-spacing: .01em; text-transform: none; }
.gm-site-header .wp-block-navigation a { color: white; text-decoration: none; }
.gm-site-header .wp-block-navigation a:hover { color: var(--gm-gold-light); }
.gm-site-header .wp-block-navigation .wp-block-navigation-item:last-child > .wp-block-navigation-item__content { padding: 10px 15px; background: var(--gm-gold); color: var(--gm-deep); }
.gm-site-header .wp-block-navigation .wp-block-navigation-item:last-child > .wp-block-navigation-item__content:hover { background: var(--gm-gold-light); color: var(--gm-deep); }
.gm-site-header .wp-block-navigation__responsive-container.is-menu-open { color: var(--gm-ink); padding: 30px; }
.gm-site-header .wp-block-navigation__responsive-container.is-menu-open a { color: var(--gm-ink); }
.gm-site-header .wp-block-navigation__responsive-container-open { color: white; }
.gm-main { min-height: 55vh; }
.gm-main > .wp-block-post-content { margin: 0; }
.gm-main > .wp-block-post-content > * { max-width: none; }
.gm-wrap { max-width: 1240px; margin: 0 auto; }
.gm-section { padding: 82px 32px; }
.gm-section-small { padding-top: 76px; padding-bottom: 76px; }
.gm-section > .wp-block-group__inner-container { max-width: 1240px; margin: 0 auto; }
.gm-kicker { margin: 0 0 15px; color: #93643d; font-size: 12px; font-weight: 700; line-height: 1.45; letter-spacing: .16em; text-transform: uppercase; }
.gm-section-title { margin: 0 0 20px; color: var(--gm-navy); font-family: var(--gm-sans); font-size: clamp(31px, 3.15vw, 49px); font-weight: 700; line-height: 1.18; letter-spacing: -.035em; }
.gm-section-title em { font-style: normal; font-weight: inherit; color: #9b6e48; }
.gm-copy { color: var(--gm-muted); font-size: 17px; line-height: 1.72; }
.gm-copy strong { color: var(--gm-ink); }
.gm-small-copy { color: var(--gm-muted); font-size: 14px; line-height: 1.7; }
.gm-rule { width: 56px; height: 2px; background: var(--gm-gold); border: 0; margin: 25px 0; }

.gm-hero { min-height: 0 !important; padding: 42px 32px 36px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; background: var(--gm-deep); }
.gm-hero .wp-block-cover__image-background { position: relative !important; inset: auto !important; order: 2; display: block; width: min(1100px, 100%) !important; height: clamp(360px, 48vw, 590px) !important; margin: 26px auto 0; object-fit: cover; object-position: center 55%; }
.gm-hero::after, .gm-hero .wp-block-cover__background { display: none !important; }
.gm-hero .wp-block-cover__inner-container { position: relative; z-index: 2 !important; order: 1; width: min(1240px, 100%); margin: 0 auto; }
.gm-hero-content { max-width: 1240px; }
.gm-hero .gm-kicker { color: var(--gm-gold-light); }
.gm-hero-title { margin: 0; color: white; font-family: var(--gm-sans); font-size: clamp(42px, 4.2vw, 63px); font-weight: 700; letter-spacing: -.045em; line-height: 1.04; text-transform: none; }
.gm-hero-subtitle { color: var(--gm-gold-light); }
.gm-hero-text { max-width: 740px; margin: 14px 0 24px; color: #f5f6f2; font-size: clamp(16px, 1.35vw, 18px); line-height: 1.65; }
.gm-hero .wp-block-buttons { gap: 12px; }
.gm-button a, .gm-button .wp-block-button__link { padding: 15px 25px; border: 1px solid var(--gm-gold); border-radius: 0; background: var(--gm-gold); color: #152b3b; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: background .2s, color .2s, transform .2s; }
.gm-button a:hover, .gm-button .wp-block-button__link:hover { background: #d4ae82; transform: translateY(-2px); }
.gm-button-outline a, .gm-button-outline .wp-block-button__link { background: transparent; color: white; border-color: rgba(255,255,255,.75); }
.gm-button-outline a:hover, .gm-button-outline .wp-block-button__link:hover { background: white; color: var(--gm-navy); }
.gm-button-dark a, .gm-button-dark .wp-block-button__link { background: var(--gm-navy); border-color: var(--gm-navy); color: white; }
.gm-button-dark a:hover, .gm-button-dark .wp-block-button__link:hover { background: #26475a; }
.gm-hero-footnote { margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }

.gm-intro { background: var(--gm-paper); }
.gm-intro-grid, .gm-location-grid, .gm-cta-grid { gap: clamp(34px, 6vw, 100px); align-items: center; }
.gm-intro-grid > .wp-block-column:first-child { flex-basis: 46% !important; }
.gm-intro-grid > .wp-block-column:last-child { flex-basis: 54% !important; }
.gm-photo-frame { position: relative; margin: 0; overflow: hidden; }
.gm-photo-frame img { width: 100%; height: clamp(330px, 42vw, 580px); display: block; object-fit: cover; }
.gm-photo-frame figcaption { margin: 0; padding: 12px 0 0; color: var(--gm-muted); font-size: 12px; text-align: left; }
.gm-image-accent { box-shadow: 22px 22px 0 #e9e5dc; }
.gm-feature-band { background: var(--gm-navy); color: white; padding: 34px 32px; }
.gm-feature-band .wp-block-columns { max-width: 1240px; margin: 0 auto; gap: 0; }
.gm-feature-band .wp-block-column { padding: 20px 35px; border-right: 1px solid rgba(255,255,255,.22); }
.gm-feature-band .wp-block-column:first-child { padding-left: 0; }
.gm-feature-band .wp-block-column:last-child { border: 0; }
.gm-feature-no { margin: 0 0 10px; color: var(--gm-gold-light); font-family: var(--gm-sans); font-size: 27px; font-weight: 700; }
.gm-feature-title { margin: 0 0 8px; color: white; font-size: 16px; font-weight: 600; }
.gm-feature-copy { margin: 0; color: rgba(255,255,255,.83); font-size: 14px; line-height: 1.6; }
.gm-location { background: white; }
.gm-location .gm-photo-frame img { height: auto; min-height: 350px; object-fit: contain; background: #f6f4ee; }
.gm-location-copy { max-width: 460px; }
.gm-location-note { border-left: 2px solid var(--gm-gold); padding-left: 16px; }
.gm-gallery { background: #edf2f3; }
.gm-heading-row { display: block; margin-bottom: 28px; }
.gm-heading-row .gm-text-link { display: inline-block; margin-top: 4px; }
.gm-heading-row .gm-section-title { margin-bottom: 0; }
.gm-text-link { color: var(--gm-navy); font-size: 12px; font-weight: 700; letter-spacing: .13em; text-decoration: none; text-transform: uppercase; border-bottom: 1px solid var(--gm-gold); padding-bottom: 5px; }
.gm-text-link:hover { color: var(--gm-gold); }
.gm-gallery-grid { gap: 18px; }
.gm-gallery-grid .wp-block-column { margin: 0; }
.gm-gallery-card { margin: 0; background: white; overflow: hidden; }
.gm-gallery-card img { width: 100%; height: 310px; display: block; object-fit: cover; transition: transform .35s; }
.gm-gallery-card:hover img { transform: scale(1.03); }
.gm-gallery-card figcaption { margin: 0; padding: 17px 20px; color: var(--gm-ink); font-size: 13px; font-weight: 600; text-align: left; }
.gm-plans-teaser { background: var(--gm-deep); color: white; }
.gm-plans-teaser .gm-section-title { color: white; }
.gm-plans-teaser .gm-copy { color: rgba(255,255,255,.72); }
.gm-plans-teaser .gm-photo-frame img { height: 440px; object-fit: contain; background: white; }
.gm-plans-teaser .gm-photo-frame figcaption { color: rgba(255,255,255,.55); }
.gm-contact { background: #e7e1d6; }
.gm-contact .gm-section-title { max-width: 660px; }
.gm-contact-grid { gap: 70px; }
.gm-contact-details { max-width: 430px; }
.gm-contact-form { background: white; padding: clamp(25px, 4vw, 45px); box-shadow: 0 25px 65px rgba(20,43,58,.09); }
.gm-contact-form form { display: grid; gap: 16px; }
.gm-contact-form label { display: grid; gap: 7px; font-size: 13px; font-weight: 700; color: var(--gm-ink); }
.gm-contact-form input, .gm-contact-form textarea { width: 100%; padding: 14px 15px; border: 1px solid #d9dfdf; border-radius: 0; background: #fbfbfa; color: var(--gm-ink); font: inherit; font-size: 15px; }
.gm-contact-form input:focus, .gm-contact-form textarea:focus { outline: 2px solid var(--gm-gold); border-color: var(--gm-gold); }
.gm-contact-form .gm-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; font-weight: 400; line-height: 1.55; }
.gm-contact-form .gm-consent input { width: auto; margin-top: 3px; }
.gm-contact-form button { padding: 16px 24px; border: 0; background: var(--gm-navy); color: white; font: inherit; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.gm-contact-form button:hover { background: #274a60; }
.gm-form-message { padding: 14px; background: #e5f2e8; color: #195a31; font-size: 14px; }
.gm-form-error { background: #fbe8e5; color: #853229; }
.gm-contact-info { margin: 35px 0 0; color: var(--gm-ink); font-size: 16px; }
.gm-contact-info a { text-decoration: none; border-bottom: 1px solid var(--gm-gold); }

.gm-page-hero { padding: 94px 32px 80px; background: var(--gm-navy); color: white; }
.gm-page-hero .gm-wrap { max-width: 1240px; }
.gm-page-hero .gm-section-title { color: white; max-width: 900px; }
.gm-page-hero .gm-copy { color: rgba(255,255,255,.75); max-width: 760px; }
.gm-page-hero .gm-kicker { color: var(--gm-gold-light); }
.gm-plan-intro { background: white; }
.gm-plan-group { margin: 60px 0 0; }
.gm-plan-group-title { margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--gm-border); font-family: var(--gm-sans); font-size: 26px; font-weight: 700; }
.gm-plan-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 25px; }
.gm-plan-card { margin: 0; border: 1px solid var(--gm-border); background: white; }
.gm-plan-card img { width: 100%; height: 220px; display: block; object-fit: contain; background: white; }
.gm-plan-card figcaption { margin: 0; padding: 14px 18px; border-top: 1px solid var(--gm-border); color: var(--gm-ink); font-size: 13px; font-weight: 700; text-align: left; }
.gm-plan-card a { display: block; }
.gm-plan-hint { color: var(--gm-muted); font-size: 13px; }
.gm-gallery-page .gm-gallery-grid { margin-bottom: 18px; }
.gm-gallery-page .gm-gallery-card img { height: 380px; }
.gm-blog { background: var(--gm-paper); padding: 80px 32px; }
.gm-blog .wp-block-post-template { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; list-style: none; padding: 0; }
.gm-blog .wp-block-post { background: white; padding: 24px; }
.gm-blog .wp-block-post-title { font-family: var(--gm-sans); font-size: 26px; font-weight: 700; }
.gm-blog .wp-block-post-date { color: var(--gm-muted); font-size: 12px; }
.gm-blog .wp-block-post-excerpt { color: var(--gm-muted); font-size: 14px; line-height: 1.6; }
.gm-empty { padding: 35px; background: white; color: var(--gm-muted); }
.gm-article { max-width: 850px; margin: 80px auto; padding: 0 25px; }
.gm-article h1 { font-family: var(--gm-sans); font-size: clamp(36px, 4vw, 58px); font-weight: 700; }
.gm-article .wp-block-post-content { font-size: 17px; line-height: 1.75; }
.gm-article .wp-block-post-date { color: var(--gm-muted); font-size: 13px; }
.gm-footer { background: #081c2a; color: white; padding: 60px 32px 35px; }
.gm-footer-inner { max-width: 1240px; margin: 0 auto; }
.gm-footer .wp-block-site-title { margin: 0 0 18px; }
.gm-footer .wp-block-site-title a { color: white; font-family: var(--gm-sans); font-size: 23px; font-weight: 700; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.gm-footer .gm-footer-copy { color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.7; }
.gm-footer .gm-footer-bottom { border-top: 1px solid rgba(255,255,255,.15); padding-top: 22px; margin-top: 42px; color: rgba(255,255,255,.45); font-size: 12px; }
.gm-footer a { color: var(--gm-gold-light); }

@media (max-width: 960px) {
  .gm-header-inner { padding: 12px 24px; }
  .gm-site-header .wp-block-navigation { font-size: 12px; }
  .gm-section { padding: 78px 24px; }
  .gm-hero { padding: 38px 24px 30px; }
  .gm-feature-band .wp-block-column { padding: 18px; }
  .gm-plan-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  body.admin-bar .gm-site-header { top: 46px; }
  .gm-header-inner { min-height: 62px; }
  .gm-site-header .wp-block-site-title a { font-size: 19px; }
  .gm-hero { min-height: 0 !important; padding: 34px 20px 24px; }
  .gm-hero-title { font-size: clamp(37px, 10vw, 53px); }
  .gm-hero .wp-block-cover__image-background { height: 300px !important; object-position: 45% center; margin-top: 20px; }
  .gm-hero-text { margin: 13px 0 22px; }
  .gm-hero .wp-block-buttons { flex-direction: column; align-items: flex-start; }
  .gm-section { padding: 58px 22px; }
  .gm-intro-grid, .gm-location-grid, .gm-cta-grid, .gm-contact-grid { gap: 35px; }
  .gm-intro-grid > .wp-block-column, .gm-location-grid > .wp-block-column, .gm-cta-grid > .wp-block-column { flex-basis: 100% !important; }
  .gm-feature-band { padding: 14px 22px; }
  .gm-feature-band .wp-block-columns { display: block; }
  .gm-feature-band .wp-block-column { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); padding: 18px 0; }
  .gm-feature-band .wp-block-column:last-child { border-bottom: 0; }
  .gm-heading-row { display: block; }
  .gm-heading-row .gm-text-link { display: inline-block; margin-top: 18px; }
  .gm-gallery-grid { display: block; }
  .gm-gallery-grid .wp-block-column { margin-bottom: 18px; }
  .gm-gallery-card img { height: 270px; }
  .gm-plans-teaser .gm-photo-frame img { height: 280px; }
  .gm-plan-grid { grid-template-columns: 1fr; }
  .gm-plan-card img { height: 240px; }
  .gm-blog .wp-block-post-template { grid-template-columns: 1fr; }
  .gm-page-hero { padding: 70px 22px 60px; }
  .gm-footer { padding: 50px 22px 30px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
