/* v94: complete text lines and intrinsic review-header placement. */
/* The v75 three-line excerpt inherited a two-line max-height. Keep its
   explicit excerpt affordance on compact desktop, with complete lines. */
body#page-start.cp-wide-layout.g75 .rv-platform .rv-excerpt{
 max-height:none!important;
 -webkit-line-clamp:3;
}
/* Natural document flow has space for the complete review. */
body#page-start.cp-wide-layout.g75.g92-flow .rv-platform .rv-excerpt{
 display:block;
 -webkit-line-clamp:unset;
 overflow:visible;
}
/* Fixed padding cannot reserve the translated Edit control's actual width.
   Both siblings now participate in the same wrapping header row. */
body#page-start.cp-wide-layout.g75 :is(#est-review,#rn-summary) section{
 display:flex;
 flex-wrap:wrap;
 align-items:flex-start;
 gap:12px;
}
body#page-start.cp-wide-layout.g75 :is(#est-review,#rn-summary) section>h3{
 flex:1 1 12rem;
 min-width:0;
 max-width:100%;
 padding-right:0!important;
 margin:0!important;
 overflow-wrap:anywhere;
}
body#page-start.cp-wide-layout.g75 :is(#est-review,#rn-summary) section>button{
 position:static!important;
 inset:auto!important;
 flex:0 1 auto;
 min-width:0;
 max-width:100%;
 margin:0!important;
 padding:6px 10px;
 min-height:44px;
 white-space:normal;
 overflow-wrap:anywhere;
 line-height:1.4;
 text-align:start;
}
body#page-start.cp-wide-layout.g75 :is(#est-review,#rn-summary) section>dl{
 flex:1 0 100%;
 min-width:0;
 max-width:100%;
 margin:0!important;
}
/* Native select labels cannot expand to several lines in iOS. Keep the
   selection concise and place its complete explanation in regular text. */
body#page-start.cp-wide-layout.g75 .rn-payment-help{
 display:block;
 min-width:0;
 max-width:100%;
 font-size:13px;
 line-height:1.5;
 color:#c7d0c1;
 overflow-wrap:anywhere;
}
/* A later reflow gallery rule capped the entire figure while its image view
   kept a full aspect ratio, hiding the caption and slideshow controls. */
body#page-start.cp-wide-layout.g75 .g75-dialog figure.g76-gallery{
 display:flex!important;
 flex-direction:column;
 flex:none!important;
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
 aspect-ratio:auto!important;
 overflow:visible!important;
}
body#page-start.cp-wide-layout.g75 .g75-dialog .g76-gallery-bar{
 flex-wrap:wrap;
 height:auto!important;
 min-height:min-content;
}
/* Enlarged titles may use most of a short viewport. Keep the complete viewer
   reachable by scrolling its shell; document zoom retains its own stage. */
body#page-start.cp-wide-layout.g75 dialog.cf-viewer{
 overflow-y:auto!important;
 overflow-x:hidden;
}
body#page-start.cp-wide-layout.g75 dialog.cf-viewer .cf-stage{
 flex:1 0 120px;
}
body#page-start.cp-wide-layout.g75 dialog.cf-viewer .cf-viewer-controls{
 flex-wrap:wrap;
 min-width:0;
}
body#page-start.cp-wide-layout.g75 dialog.cf-viewer :is(.cf-document-nav,.cf-zoom-label){
 max-width:100%;
 min-width:0;
 flex-wrap:wrap;
}
/* Older desktop placement left photo fields in column 2 after the mobile
   wizard switched to one column, creating an implicit track beside the car. */
@media(max-width:1023px){
 body#page-start.cp-wide-layout.g75 #estimate-form .estimate-step>:not(legend){
  grid-column:1/-1!important;
  grid-row:auto!important;
  min-width:0;
  max-width:100%;
 }
}
/* The fallback must release nested shells as well as the document height. */
body#page-start.cp-wide-layout.g75.g92-flow main{
 overflow-wrap:anywhere;
}
body#page-start.cp-wide-layout.g75.g92-flow main :is(h1,h2,h3){
 overflow-wrap:anywhere;
 min-width:0;
 max-width:100%;
}
body#page-start.cp-wide-layout.g75.g92-flow .tow-heading{
 flex-wrap:wrap;
}
body#page-start.cp-wide-layout.g75.g92-flow .tow-call{
 max-width:100%;
}
body#page-start.cp-wide-layout.g75.g92-flow .tow-call strong{
 white-space:normal;
 overflow-wrap:anywhere;
}
body#page-start.cp-wide-layout.g75.g92-flow:not(.g92-account-expanded) :is(.g84-shell,.g84-layout,.g84-content){
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
 overflow:visible!important;
}
body#page-start.cp-wide-layout.g75 .g84-help a{
 white-space:normal;
 overflow-wrap:anywhere;
 min-width:0;
 max-width:100%;
}
body#page-start.cp-wide-layout.g75 .cp-accident-teaser-head>div{
 min-width:0;
 max-width:100%;
}
body#page-start.cp-wide-layout.g75 .cp-accident-primary{
 grid-template-columns:repeat(2,minmax(0,1fr));
}
body#page-start.cp-wide-layout.g75 .cp-accident-primary>a{
 min-width:0;
 white-space:normal;
 overflow-wrap:anywhere;
}
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer,
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer-grid,
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer-grid :is(.cp-footer-brand,.g78-actions,.g79-contact-zone,.g78-contact-info,.g75-support,.g78-fineprint){
 height:auto!important;
 max-height:none!important;
 min-height:0!important;
 grid-template-rows:auto!important;
 overflow:visible;
 min-width:0;
}
body#page-start.cp-wide-layout.g75.g92-flow .g79-contact-zone{
 grid-template-columns:minmax(0,1fr) minmax(0,1fr);
}
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer :is(p,a,summary){
 overflow-wrap:anywhere;
 white-space:normal;
}
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer .g75-support :is(#cp-assistant,#cp-contact)>summary{
 height:auto!important;
 min-height:44px!important;
}
body#page-start.cp-wide-layout.g75.g92-flow .cp-footer-social a{
 height:auto!important;
}
body#page-start.cp-wide-layout.g75 #cp-assistant .cp-ask-welcome{
 flex-shrink:0;
}
@media(min-width:1024px){
 body#page-start.cp-wide-layout.g75.g92-flow .cp-nav{
  height:auto!important;
  min-height:min-content;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-primary{
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  height:auto!important;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-primary-row{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,8em),1fr))!important;
  min-width:0;
  grid-auto-rows:auto;
  height:auto!important;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-primary-row>a{
  min-width:0;
  max-width:100%;
  height:auto!important;
  min-height:44px;
  overflow-wrap:anywhere;
  white-space:normal;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-header-tools{
  display:flex;
  flex-wrap:wrap;
  min-width:0;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-header-tools :is(.g80-account,.g82-referral){
  flex:1 1 8em;
  height:auto!important;
  width:auto!important;
  max-width:100%;
  min-width:0;
  white-space:normal;
  overflow-wrap:anywhere;
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-footer-social{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,6em),1fr));
 }
 body#page-start.cp-wide-layout.g75.g92-flow .cp-footer-social :is(a,span){
  min-width:0;
  width:auto;
  max-width:100%;
  white-space:normal;
  overflow-wrap:anywhere;
 }
}
body#page-start.cp-wide-layout.g75.g92-flow #accident-guide figure.g76-gallery{
 display:flex!important;
 flex-direction:column;
 height:auto!important;
 min-height:0!important;
 aspect-ratio:auto!important;
 overflow:visible!important;
}
body#page-start.cp-wide-layout.g75.g92-flow #accident-guide .g76-gallery-view{
 flex:none;
 width:100%;
 min-height:0;
 aspect-ratio:3/2;
}
/* Older step-specific two-column rules overrode the mobile grid and cut the
   selected Armenian option inside native iPhone selects. */
@media(max-width:600px){
 body#page-start.cp-wide-layout.g75 #towing-form .tow-section .tow-grid{
  grid-template-columns:minmax(0,1fr)!important;
 }
}

/* v94 mobile Menu text: use intrinsic wrapping instead of the fixed two-track
   header grid. Normal text retains one row when both controls fit; enlarged
   text gives each control a complete row before shrinking its selected label. */
@media(max-width:1023px){
 body#page-start.cp-wide-layout.g75 .cp-topline{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
 }
 body#page-start.cp-wide-layout.g75 .g82-mobile-navigation{
  /* Match the select's normal font, so ch follows actual text enlargement.
     Eight characters plus its padding/native-arrow allowance cover all five
     concise Menu labels without relying on the longest unopened route option. */
  font-size:16px;
  flex:1 1 calc(8ch + 64px);
  min-width:min(100%,calc(8ch + 64px));
  max-width:100%;
 }
 body#page-start.cp-wide-layout.g75 .g82-page-picker{
  min-width:0;
  max-width:100%;
 }
 body#page-start.cp-wide-layout.g75 #g82-page-select{
  height:auto;
  min-height:44px;
 }
 body#page-start.cp-wide-layout.g75 .cp-language{
  flex:0 1 auto;
  min-width:0;
  max-width:100%;
  margin-inline-start:auto;
 }
 body#page-start.cp-wide-layout.g75 .cp-language>summary{
  max-width:100%;
  white-space:normal;
 }
 body#page-start.cp-wide-layout.g75 .cp-language>summary>span:not([aria-hidden]){
  min-width:0;
  overflow-wrap:anywhere;
 }
 body#page-start.cp-wide-layout.g75 .cp-language>summary>:is(img,[aria-hidden]){
  flex-shrink:0;
 }
}

/* Phone emergency message: give the call and its explanation full lines.
   Font sizes and the tel:911 action retain their existing behavior. */
@media(max-width:600px){
 body#page-start.cp-wide-layout.g75.cp-home-single .cp-accident-emergency{
  flex-direction:column;
  align-items:stretch;
 }
 body#page-start.cp-wide-layout.g75.cp-home-single #accident-guide .cp-accident-emergency .cp-police-call{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
  flex-wrap:wrap;
  justify-content:center;
  text-align:center;
 }
 body#page-start.cp-wide-layout.g75.cp-home-single .cp-accident-emergency small{
  width:100%;
  max-width:none;
  min-width:0;
  box-sizing:border-box;
  border-left:0;
  padding-left:0;
  border-top:1px solid #c8996d55;
  padding-top:8px;
  text-align:center;
 }
}
