/* DCT 6.1: repair WordPress shortcode/optimization-induced grid fragmentation.
   This sheet loads LAST and uses explicit placement rather than CSS grid auto-flow.
   Keep the DCT color, imagery and text styling supplied by the other theme CSS. */
body.fi-revised .dct-reference-mail {
    display:block !important;
    min-height:0 !important;
    width:100%;
    overflow:hidden;
}
body.fi-revised .dct-reference-mail-layout {
    display:grid !important;
    width:100%;
    grid-template-columns: minmax(0,19fr) minmax(0,25fr) minmax(0,56fr) !important;
    grid-template-rows: auto !important;
    align-items:stretch !important;
    justify-items:stretch;
    gap:0;
}
body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-photo {
    display:block;
    grid-column:1 !important;
    grid-row:1 !important;
    width:100% !important;
    height:100% !important;
    min-height:290px;
    max-width:none;
    margin:0 !important;
    object-fit:cover;
    object-position:center;
    align-self:stretch;
}
body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-intro {
    grid-column:2 !important;
    grid-row:1 !important;
    min-width:0;
    padding:27px clamp(15px,2vw,30px);
    overflow:visible;
}
body.fi-revised .dct-reference-mail-intro h2 {
    width:auto !important;
    transform:none !important;
    white-space:normal !important;
    font-size:clamp(28px,2.8vw,43px);
    line-height:1.12;
}
body.fi-revised .dct-reference-mail-intro h3 {font-size:clamp(19px,2vw,25px)}
body.fi-revised .dct-reference-mail-intro p {font-size:clamp(13px,.98vw,15px);line-height:1.55}
body.fi-revised .dct-reference-mail-layout > .dct-reference-steps {
    display:grid !important;
    grid-column:3 !important;
    grid-row:1 !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    align-items:stretch !important;
    min-width:0;
    max-width:none;
    width:100%;
    margin:0 !important;
    padding:20px 9px !important;
    border-left:1px solid #d2d4d6;
}
body.fi-revised .dct-reference-steps > .dct-reference-step {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px;
    min-width:0;
    min-height:0;
    height:auto;
    padding:32px 7px 14px !important;
    margin:0 !important;
    position:relative;
    border-right:1px solid #d2d4d6;
}
body.fi-revised .dct-reference-steps > .dct-reference-step:last-child {border-right:0}
body.fi-revised .dct-reference-step .dct-reference-stepnum{top:7px;left:calc(50% - 15px);transform:none}
body.fi-revised .dct-reference-step svg {display:block;flex:0 0 auto;width:37px;height:37px;margin:10px auto 3px}
body.fi-revised .dct-reference-step strong {font-size:clamp(12px,1vw,15px);line-height:1.3;min-height:0}
body.fi-revised .dct-reference-step p {font-size:clamp(12px,.93vw,14px);max-width:180px;line-height:1.48;margin:0 auto;color:#354049}
body.fi-revised .dct-reference-dropoff-rider {width:100%;margin:0}
/* The cards have stable outer wrappers. Don't allow cached legacy tile geometry to
   create auto-placed anonymous items or staggered image/title positions. */
body.fi-revised .dct-reference-tiles {
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-flow:row !important;
    grid-auto-rows:auto !important;
    align-items:stretch !important;
    justify-items:stretch !important;
    gap:20px !important;
    width:100%;
    min-height:0;
}
body.fi-revised .dct-reference-tiles > .dct-reference-cell {
    display:block !important;
    grid-column:auto !important;
    grid-row:auto !important;
    min-width:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
}
body.fi-revised .dct-reference-cell > .dct-reference-tile {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    width:100%;
    height:100%;
    min-height:330px;
    margin:0;
    padding:0;
    position:relative;
    overflow:hidden;
    border-radius:4px;
    background:#1d262e;
    color:#fff;
}
body.fi-revised .dct-reference-cell .dct-reference-tile > img {
    display:block !important;
    order:0 !important;
    position:static !important;
    inset:auto !important;
    flex:0 0 196px !important;
    width:100% !important;
    height:196px !important;
    min-height:196px;
    max-height:196px;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center center;
}
body.fi-revised .dct-reference-cell .dct-reference-tile > strong {
    display:block;
    order:1;
    flex:0 0 auto;
    min-height:0;
    padding:17px 18px 0;
    font:800 clamp(16px,1.35vw,20px)/1.3 Arial,Helvetica,sans-serif;
    color:#fff;
}
body.fi-revised .dct-reference-cell .dct-reference-tile > .dct-reference-tile-desc {
    display:block;
    order:2;
    flex:1 0 auto;
    padding:7px 18px 17px;
    font:400 14px/1.5 Arial,Helvetica,sans-serif;
    color:#dce5eb;
}
/* Defense against paragraph wrappers inserted by third-party content filters. */
body.fi-revised .dct-reference-tiles > p:empty,
body.fi-revised .dct-reference-mail-layout > p:empty {display:none !important}
@media(max-width:1279px){
 body.fi-revised .dct-reference-mail-layout {grid-template-columns:minmax(0,28fr) minmax(0,72fr) !important}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-photo {grid-column:1 !important;grid-row:1 !important;min-height:235px}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-intro {grid-column:2 !important;grid-row:1 !important}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-steps {grid-column:1/-1 !important;grid-row:2 !important;border-left:0;border-top:1px solid #d2d4d6}
 body.fi-revised .dct-reference-steps > .dct-reference-step {padding:32px 13px 16px !important}
}
@media(max-width:1060px){
 body.fi-revised .dct-reference-tiles {grid-template-columns:repeat(2,minmax(0,1fr)) !important}
 body.fi-revised .dct-reference-cell > .dct-reference-tile {min-height:312px}
 body.fi-revised .dct-reference-cell .dct-reference-tile > img {height:200px !important;min-height:200px;max-height:200px;flex-basis:200px !important}
}
@media(max-width:700px){
 body.fi-revised .dct-reference-mail-layout {grid-template-columns:minmax(0,35fr) minmax(0,65fr) !important}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-photo {min-height:230px}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-intro {padding:18px 17px}
 body.fi-revised .dct-reference-mail-intro h2 {font-size:31px}
 body.fi-revised .dct-reference-mail-intro h3 {font-size:19px}
 body.fi-revised .dct-reference-mail-intro p {font-size:13px;line-height:1.46}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-steps {grid-template-columns:repeat(2,minmax(0,1fr)) !important;padding:14px 12px !important}
 body.fi-revised .dct-reference-steps > .dct-reference-step {padding:36px 13px 19px !important;min-height:190px}
 body.fi-revised .dct-reference-steps > .dct-reference-step:nth-child(2n) {border-right:0}
 body.fi-revised .dct-reference-steps > .dct-reference-step:last-child {grid-column:1/-1 !important;min-height:160px}
 body.fi-revised .dct-reference-step strong {font-size:14px}
 body.fi-revised .dct-reference-step p {font-size:13px;max-width:240px}
}
@media(max-width:580px){
 body.fi-revised .dct-reference-tiles {grid-template-columns:minmax(0,1fr) !important;gap:16px !important}
 body.fi-revised .dct-reference-cell > .dct-reference-tile {min-height:0}
 body.fi-revised .dct-reference-cell .dct-reference-tile > img {height:220px !important;min-height:220px;max-height:220px;flex-basis:220px !important}
 body.fi-revised .dct-reference-cell .dct-reference-tile > strong {font-size:19px}
 body.fi-revised .dct-reference-cell .dct-reference-tile > .dct-reference-tile-desc {font-size:15px}
}
@media(max-width:420px){
 body.fi-revised .dct-reference-mail-layout {grid-template-columns:minmax(0,1fr) !important}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-photo {grid-column:1 !important;grid-row:1 !important;height:145px !important;min-height:145px;max-height:145px;object-position:center 57%}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-mail-intro {grid-column:1 !important;grid-row:2 !important;padding:21px 22px}
 body.fi-revised .dct-reference-mail-layout > .dct-reference-steps {grid-column:1 !important;grid-row:3 !important}
 body.fi-revised .dct-reference-mail-intro h2 {font-size:33px}
}
@media(prefers-reduced-motion:reduce){body.fi-revised .dct-reference-tile{transition:none}}
/* Very small phones: prevent minimum-content sizing in the lower panels. */
@media(max-width:420px){
 body.fi-revised .dct-turbo {display:block !important;grid-template-columns:minmax(0,1fr) !important}
 body.fi-revised .dct-turbo-image,body.fi-revised .dct-turbo-content {width:100%;max-width:100%;min-width:0}
 body.fi-revised .dct-turbo-image {min-height:210px;height:210px}
 body.fi-revised .dct-turbo-image img {width:100%;height:100%;min-height:210px;object-fit:cover}
 body.fi-revised .dct-turbo-content {padding:30px 20px}
 body.fi-revised .dct-turbo h2 {font-size:clamp(28px,8vw,36px);overflow-wrap:anywhere}
 body.fi-revised .dct-turbo p {overflow-wrap:break-word}
 body.fi-revised .fi-location-grid {grid-template-columns:minmax(0,1fr) !important}
 body.fi-revised .fi-location {min-width:0;padding:24px 17px;overflow-wrap:anywhere}
 body.fi-revised .fi-location h3 {font-size:clamp(30px,9vw,42px)}
}
