/* Layout-only improvements for the original Pages design. */
img,iframe{max-width:100%}.grid>*,.intro-grid>*,.two-col>*,.footer-grid>*,.event-form>*{min-width:0}input,select,textarea{min-width:0;max-width:100%}textarea{resize:vertical}
#eventDialog:not(.inventory-step) .event-dialog-panel{display:block;overflow-y:auto;overscroll-behavior:contain}
#eventDialog.inventory-step .event-dialog-panel{overflow:hidden}.event-dialog-head,#eventForm{flex-shrink:0}
#eventDialog.inventory-step .event-dialog-head{display:contents!important}
#eventDialog.inventory-step .event-dialog-head>div{display:none}
.event-dialog-head{padding-right:44px}#eventDialog #closeEventDialog{position:absolute;top:max(10px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:12}
.ideal-json-card h3,.ideal-line>div{overflow-wrap:anywhere;min-width:0}.ideal-cart-head,.ideal-cart-foot{flex-shrink:0}
.ideal-cart-panel{max-height:100vh;max-height:100dvh}.ideal-booking-panel{min-width:0}.source-copy a{overflow-wrap:anywhere}
@media(max-width:1100px) and (min-width:721px){.header-inner{gap:12px;flex-wrap:wrap;height:auto;min-height:80px;padding-block:12px}.nav{order:4;flex-basis:100%;justify-content:center;flex-wrap:wrap;gap:12px 20px}.header-inner>.btn{margin-left:auto}}
@media(max-width:720px){
 .header-inner{display:flex;flex-wrap:wrap;gap:10px;padding-block:12px}.header-inner .brand{order:0;font-size:25px;flex:1;min-width:100px}.mobile-nav{order:3;min-height:44px;margin-left:0}.header-inner>.btn{order:2;min-height:44px;margin-left:auto;white-space:nowrap}.nav{order:4;width:100%;max-height:55vh;max-height:55dvh;overflow-y:auto;align-items:stretch;padding:4px 0}.nav a{display:block;padding:10px 4px;font-size:14px}
 .hero h1{font-size:clamp(34px,10vw,50px)}.hero{min-height:0}.hero-content{padding-block:48px}.intro-grid,.two-col{gap:28px}.inner-hero{padding:44px 0 32px}
 .event-dialog{height:100vh;height:100dvh}#eventDialog .event-dialog-panel{width:100%;max-width:100%;height:100%;max-height:100%;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.event-dialog-head{gap:8px}.event-dialog-head h2{font-size:28px}.event-dialog-close{flex-shrink:0}.event-form{gap:22px}.event-form input,.event-form select,.event-form textarea,.quote-fields input,.quote-fields textarea,#modalSearchSlot input{font-size:16px}.event-form>.btn{width:100%;justify-self:stretch;white-space:normal}
 .modal-inventory-head{flex-wrap:wrap;padding-right:52px!important}.modal-inventory-head h2{font-size:24px}#modalInventory .modal-inventory-head #idealCartOpen{min-height:44px!important}#modalSearchSlot form{min-width:0}#modalSearchSlot input{width:100%;min-width:0}#categoryChips{max-width:100%;overflow-wrap:anywhere}.category-chip{max-width:100%;white-space:normal}
 .ideal-card-footer{flex-wrap:wrap;gap:8px}.ideal-qty-adjust{min-width:36px;min-height:44px}#modalInventory .ideal-json-card .ideal-own-heart{min-width:44px!important;min-height:44px!important}.ideal-line-controls{flex-wrap:wrap;gap:8px}.ideal-line-controls button{min-width:44px;min-height:44px}
 #idealCustomCart .ideal-cart-panel{overflow-y:auto!important;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom)}#idealCustomCart .ideal-cart-items{flex:1 0 auto;overflow-y:visible!important}.ideal-cart-head{padding:12px 16px}.ideal-cart-head h2{font-size:22px}.ideal-cart-items,.ideal-cart-foot{padding:16px}.ideal-cart-contact-actions{flex-wrap:wrap}.ideal-cart-contact-actions>.btn{min-width:0}
 #idealBookingStep{padding:8px}.ideal-booking-panel{margin:0;padding:12px 16px 24px}.ideal-schedule-heading{flex-wrap:wrap}.overlay{padding:12px}
}
@media(max-width:420px){.header-inner>.btn,.header-inner>.mobile-nav{padding-inline:10px;font-size:12px}.ideal-native-grid{grid-template-columns:minmax(0,1fr)}.container{width:calc(100% - 28px)}}
@media(max-width:340px){.gallery,.mosaic{grid-template-columns:minmax(0,1fr)}.ideal-sewing-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto}.ideal-sewing-lead{grid-column:auto}.ideal-sewing-grid>div{min-height:190px}}
@media(max-height:600px) and (min-width:721px){#idealCustomCart .ideal-cart-panel{overflow-y:auto!important}#idealCustomCart .ideal-cart-items{flex:1 0 auto;overflow-y:visible!important}}

#sewingInquiry {
  box-sizing: border-box;
  width: min(34rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  border: 0;
  border-radius: 1rem;
  padding: 1.5rem;
  background: #fff;
  color: #222;
}
#sewingInquiry::backdrop { background: rgb(0 0 0 / 55%); }
#sewingInquiry .sewing-close {
  float: right;
  min-width: 44px;
  min-height: 44px;
  border: 0;
  background: transparent;
  font-size: 1.5rem;
  cursor: pointer;
}
#sewingInquiry form { display: grid; gap: 0.85rem; }
#sewingInquiry label { display: grid; gap: 0.25rem; }
#sewingInquiry input, #sewingInquiry textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #777;
  border-radius: 0.4rem;
  padding: 0.65rem;
  font: inherit;
}
#sewingInquiry [role="status"]:empty { margin: 0; }

.entertainment-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.75rem;
}
.entertainment-heading h1 { margin: 0; }


.header-phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: inherit;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}


#idealCartCall { cursor: default; }


.team-portrait {
  display: block;
  width: min(100%, 20rem);
  height: auto;
  border-radius: 9px;
}


#page-about .grid .team-portrait {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center top;
}


.founder-bio {
  display: flow-root;
  margin-top: 70px;
}
.founder-bio .team-portrait {
  float: right;
  width: min(35%, 20rem);
  margin: 0 0 1rem 1.5rem;
}


gspro-wishlist[data-ideal-checkout]:not([data-mode="expand"]) {
  display: none !important;
}
gspro-wishlist[data-ideal-checkout][data-mode="expand"] {
  z-index: 2147483646;
}


/* Keep full inventory titles readable within each card. */
.ideal-json-card .gspro-c-item-card__title {
  display: block;
  white-space: normal;
  overflow-wrap: anywhere;
  overflow: visible;
  text-overflow: clip;
  max-height: none;
  -webkit-line-clamp: unset;
}

.ideal-json-card .ideal-view-item {
  width: 100%;
  border: 0;
  cursor: pointer;
}
.ideal-item-description {
  margin: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
  font-size: .9rem;
}
.ideal-item-dialog {
  width: min(680px, 92vw);
  max-height: 85vh;
  padding: 24px;
  border: 1px solid #e8d5c8;
  border-radius: 12px;
  background: #fff8e1;
  color: #392b23;
}
.ideal-item-dialog::backdrop { background: #0009; }
.ideal-item-dialog form { text-align: right; }
.ideal-item-gallery {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.ideal-item-gallery img {
  width: 100%;
  max-height: 440px;
  object-fit: contain;
}
#page-gallery .gallery-dress { aspect-ratio: 4 / 5; }
#page-gallery .gallery-dress img { object-fit: contain; }
#page-gallery .gallery-dress:hover img { transform: none; }


.field select {
  box-sizing: border-box;
  font: inherit;
  padding-right: 32px;
}
.field select:focus-visible {
  outline: 2px solid var(--purple);
  outline-offset: 2px;
}
@media (max-width: 720px) {
  .event-form .field select { font-size: 16px; }
}

input.ideal-card-quantity {
  width: 4rem;
  min-width: 0;
  height: 44px;
  padding: 4px;
  text-align: center;
  font: inherit;
  border: 1px solid var(--border);
  border-radius: 6px;
  appearance: textfield;
}
input.ideal-card-quantity::-webkit-inner-spin-button { appearance: none; }
