/*
Theme Name: Hotel Website Designers (MTC)
Theme URI: https://hotelwebsitedesigners.com
Author: Marketing The Change
Author URI: https://marketingthechange.com
Description: Block theme for Hotel Website Designers. Sister brand to Marketing The Change and Liverpool Web Designers. Hospitality-only web design, booking engine integration, direct-booking CRO. Deep Navy on Cream, Brass accent, Fraunces 500 headlines, Inter body. 6px softly-rounded buttons. No em dashes anywhere in the theme copy.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Tested up to: 6.6
License: Proprietary
Text Domain: hotelwebsitedesigners-mtc
Tags: block-theme, one-column, custom-colors, custom-logo, editor-style, wide-blocks, block-styles
*/

/* Editor + front-end enhancements that theme.json cannot express cleanly. */

:root {
  --hwd-shadow-card: 0 2px 8px rgba(15, 42, 68, 0.06);
  --hwd-shadow-card-hover: 0 6px 24px rgba(15, 42, 68, 0.10);
  --hwd-radius-button: 6px;
  --hwd-radius-card: 8px;
  --hwd-radius-chip: 4px;
}

html { scroll-behavior: smooth; }
body { background-color: #F6F1E7; color: #1A222D; }

/* Skip link */
.skip-link:focus {
  background: #0F2A44;
  color: #F6F1E7;
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: 600;
  outline: 2px solid #B08A47;
  outline-offset: 2px;
}

/* Buttons: force 6px softly-rounded rectangle everywhere. Deep Navy fill, Cream text. */
.wp-block-button__link,
.wp-element-button,
button.wp-block-search__button {
  border-radius: 6px !important;
  font-weight: 600;
  padding: 12px 24px;
  min-height: 44px;
  transition: background-color 180ms ease, box-shadow 180ms ease;
}
.wp-block-button.is-style-hwd-primary .wp-block-button__link {
  background-color: #0F2A44;
  color: #F6F1E7;
}
.wp-block-button.is-style-hwd-primary .wp-block-button__link:hover,
.wp-block-button.is-style-hwd-primary .wp-block-button__link:focus {
  background-color: #0A1E33;
  outline: 2px solid #B08A47;
  outline-offset: 2px;
}
.wp-block-button.is-style-hwd-secondary .wp-block-button__link {
  background-color: transparent;
  color: #0F2A44;
  border: 1px solid #0F2A44;
  font-weight: 500;
}
.wp-block-button.is-style-hwd-secondary .wp-block-button__link:hover {
  background-color: #EFEBE1;
}

/* Eyebrow label */
.hwd-eyebrow {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #B08A47;
  margin-bottom: 8px;
}

/* Brass price chip */
.hwd-price-chip {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 4px;
  background: rgba(176, 138, 71, 0.14);
  color: #8F6E36;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
}

/* Band card: Cream fill, Brass 3px top border, Fraunces price */
.hwd-band-card {
  background: #F6F1E7;
  border: 1px solid #D9D2C4;
  border-top: 3px solid #B08A47;
  border-radius: 8px;
  padding: 32px;
  box-shadow: var(--hwd-shadow-card);
  transition: box-shadow 180ms ease;
  height: 100%;
}
.hwd-band-card:hover { box-shadow: var(--hwd-shadow-card-hover); }
.hwd-band-card .hwd-price {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: clamp(36px, 4vw, 48px);
  color: #0F2A44;
  line-height: 1;
  font-variation-settings: 'opsz' 96;
}

/* Image treatments per design.md */
.img-navy-wash { position: relative; overflow: hidden; isolation: isolate; }
.img-navy-wash img { width: 100%; height: 100%; object-fit: cover; display: block; }
.img-navy-wash::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(15,42,68,0.30) 0%, rgba(15,42,68,0.65) 100%);
  pointer-events: none;
}
.img-brass-warmth { position: relative; overflow: hidden; isolation: isolate; }
.img-brass-warmth img { width: 100%; height: 100%; object-fit: cover; display: block; filter: contrast(1.03) saturate(0.95); }
.img-brass-warmth::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 45%, rgba(176,138,71,0.18) 100%);
  pointer-events: none; mix-blend-mode: multiply;
}
.img-paper-card {
  padding: 12px; background: #F6F1E7; border: 1px solid #D9D2C4;
  border-radius: 8px; box-shadow: 0 2px 8px rgba(15,42,68,0.06); display: inline-block; max-width: 100%;
}
.img-paper-card img { width: 100%; height: auto; display: block; border-radius: 4px; }

/* Sister-brand callout on Deep Navy */
.hwd-sister-callout {
  background: #0F2A44;
  color: #F6F1E7;
  padding: 20px 32px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
.hwd-sister-callout a { color: #F6F1E7; text-decoration: underline; font-weight: 600; }
.hwd-sister-callout a:hover { color: #B08A47; text-decoration: underline; }

/* Fraunces pull quote */
.hwd-pullquote {
  font-family: 'Fraunces', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1.35;
  color: #1A222D;
  border-top: 2px solid #B08A47;
  border-bottom: 2px solid #B08A47;
  padding: 24px 0;
  margin: 32px 0;
  text-align: center;
  font-variation-settings: 'opsz' 48;
}

/* Trust strip tiles */
.hwd-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 24px 0;
  border-top: 1px solid #D9D2C4;
  border-bottom: 1px solid #D9D2C4;
}
.hwd-trust-strip__tile { font-family: 'Inter', sans-serif; }
.hwd-trust-strip__tile .hwd-eyebrow { color: #5A6572; }
@media (max-width: 782px) { .hwd-trust-strip { grid-template-columns: repeat(2, 1fr); } }

/* Vertical card: property-type tile */
.hwd-vertical-card {
  background: #EFEBE1;
  border-radius: 8px;
  padding: 28px;
  border: 1px solid transparent;
  transition: border-color 180ms ease, box-shadow 180ms ease;
  height: 100%;
}
.hwd-vertical-card:hover { border-color: #B08A47; box-shadow: var(--hwd-shadow-card-hover); }

/* Integration logo band */
.hwd-integration-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 32px;
  align-items: center;
  padding: 32px 0;
}
.hwd-integration-band img,
.hwd-integration-band .hwd-logo-placeholder {
  filter: grayscale(1) opacity(0.7);
  transition: filter 180ms ease;
  max-height: 40px;
  width: auto;
  margin: 0 auto;
  display: block;
}
.hwd-integration-band a:hover img,
.hwd-integration-band a:hover .hwd-logo-placeholder {
  filter: grayscale(0) opacity(1);
}
.hwd-logo-placeholder {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  color: #0F2A44;
  text-align: center;
  padding: 8px 12px;
  border: 1px solid #D9D2C4;
  border-radius: 4px;
  background: #F6F1E7;
}

/* Fraunces optical-size fix on display headings */
h1, h2, h3, h4 {
  font-variation-settings: 'opsz' 72;
}

/* Focus states, accessibility */
:focus-visible { outline: 2px solid #B08A47; outline-offset: 2px; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
