/*
Theme Name: Windfall Wardrobe
Theme URI: https://windfallwardrobe.com
Description: One-page site for Windfall Wardrobe. Child theme of Twenty Twenty-Five.
Author: Windfall Wardrobe
Template: twentytwentyfive
Version: 1.5
Text Domain: windfall-child
*/

/* ---- Images: crop to shape instead of stretching ---- */
.ww-img { margin: 0; }
.ww-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
}
.ww-hero-desktop img { aspect-ratio: 1 / 1; }
.ww-hero-mobile { display: none; }
.ww-hero-mobile img { aspect-ratio: 4 / 3; }
.ww-tall img  { aspect-ratio: 3 / 4; }
.ww-wide img  { aspect-ratio: 4 / 3; }

/* Event cluster: the two stacked photos bottom-align with the tall one */
.ww-evt-small { display: flex; flex-direction: column; gap: 12px; align-self: stretch; }
.ww-evt-small .ww-img { flex: 1 1 0; min-height: 0; }
.ww-evt-small .ww-img img { height: 100%; aspect-ratio: auto; }
@media (max-width: 780px) {
  .ww-evt-small .ww-img img { height: auto; aspect-ratio: 4 / 3; }
}

@media (max-width: 780px) {
  .ww-hero-desktop { display: none; }
  .ww-hero-mobile  { display: block; }
}

/* ---- Logo ---- */
.ww-logo { margin: 0; }
.ww-logo img { display: block; width: 210px; height: auto; }
.ww-logo-footer img { width: 230px; }
@media (max-width: 780px) {
  .ww-logo img { width: 150px; }
}

/* ---- Header ---- */
header.wp-block-template-part,
.wp-site-blocks > header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #FDF8F3;
}
.admin-bar header.wp-block-template-part,
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar header.wp-block-template-part,
  .admin-bar .wp-site-blocks > header { top: 46px; }
}
.ww-header {
  position: static;
  border-bottom: 1px solid #EEE2D6;
  background: #FDF8F3;
}
/* Nothing above the header may clip the sticky context */
html, body, .wp-site-blocks, .wp-site-blocks > main { overflow: visible; }
.ww-nav { font-size: 17px; }
.ww-nav a { color: #1F1B18; text-decoration: none; font-size: 17px; }
.ww-nav a:hover { color: #E4899B; }

/* ---- Section rhythm: keep it tight on small screens ---- */
@media (max-width: 780px) {
  .ww-sec { padding-top: 40px !important; padding-bottom: 40px !important;
            padding-left: 24px !important; padding-right: 24px !important; }
}

/* ---- Hero trio dividers only apply side by side ---- */
@media (max-width: 780px) {
  .ww-trio .wp-block-column { border: 0 !important; padding: 0 !important; }
}

/* ---- FAQ: blush + / - instead of the default arrow ---- */
.wp-block-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: #E4899B; font-size: 24px; line-height: 1; }
.wp-block-details[open] summary::after { content: "\2212"; }

/* ---- Newsletter bar form ---- */
.ww-signup {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  max-width: 420px; margin-left: auto; margin-right: auto;
}
.ww-signup input[type="email"] {
  width: 100%; box-sizing: border-box; border: 0;
  padding: 15px 16px; border-radius: 3px;
  font: 400 16px Karla, sans-serif; color: #1F1B18;
}
.ww-signup button {
  background: #1F1B18; color: #fff; border: 0;
  padding: 15px 34px; border-radius: 3px; cursor: pointer;
  font: 700 13px Karla, sans-serif; letter-spacing: .12em; text-transform: uppercase;
}
.ww-signup button:hover { background: #3a332d; }

/* ---- Contact form ---- */
.ww-hp { position: absolute; left: -9999px; }
.ww-form-note {
  margin: 0 0 20px; padding: 14px 18px; border-radius: 4px;
  font: 400 16px/1.5 Karla, sans-serif;
}
.ww-form-ok    { background: #DFE4D2; color: #2F2D25; }
.ww-form-error { background: #FBE4E8; color: #7A3244; }

.ww-form-row { display: flex; gap: 18px; }
.ww-form-row .ww-field { flex: 1; min-width: 0; }
.ww-field { display: block; margin-bottom: 18px; }
.ww-field > span {
  display: block; margin-bottom: 7px;
  font: 700 12.5px Karla, sans-serif; letter-spacing: .11em; text-transform: uppercase;
  color: #1F1B18;
}
.ww-field > span em { color: #E4899B; font-style: normal; }
.ww-field input,
.ww-field textarea {
  width: 100%; box-sizing: border-box;
  padding: 13px 14px; border: 1px solid #E0D5C8; border-radius: 3px;
  background: #fff; color: #1F1B18;
  font: 400 16px/1.5 Karla, sans-serif;
}
.ww-field input:focus,
.ww-field textarea:focus { outline: 2px solid #E4899B; outline-offset: -1px; border-color: #E4899B; }
.ww-field textarea { resize: vertical; }

.ww-form { text-align: left; }
.ww-submit {
  display: block; margin: 10px auto 0; border: 0; cursor: pointer;
  background: #E4899B; color: #fff;
  padding: 16px 40px; border-radius: 3px;
  font: 700 13px Karla, sans-serif; letter-spacing: .12em; text-transform: uppercase;
}
.ww-submit:hover { background: #1F1B18; }

@media (max-width: 600px) {
  .ww-form-row { display: block; }
  .ww-signup { width: 100%; }
}

/* ---- Footer link lists without bullets ---- */
.ww-plain-list { list-style: none; padding-left: 0; margin: 0; }
.ww-plain-list a { color: inherit; text-decoration: none; }
.ww-plain-list a:hover { color: #E4899B; }

/* ---- One-page scrolling ---- */
html { scroll-behavior: smooth; }
#top, #start, #events, #why, #sell,
#concierge, #nonprofits, #faq, #contact, #news { scroll-margin-top: 150px; }
.admin-bar #top, .admin-bar #start, .admin-bar #events, .admin-bar #why,
.admin-bar #sell, .admin-bar #concierge, .admin-bar #nonprofits,
.admin-bar #faq, .admin-bar #contact, .admin-bar #news { scroll-margin-top: 182px; }
@media (max-width: 780px) {
  #top, #start, #events, #why, #sell,
  #concierge, #nonprofits, #faq, #contact, #news { scroll-margin-top: 120px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---- Long headlines break gracefully ---- */
h1, h2, h3 { text-wrap: pretty; }
