@media (max-width:767px){
  .elementor-nav-menu--dropdown.elementor-nav-menu__container{
    background:var(--rasvo-v2-paper,#FAF9F6)!important;
    border-top:1px solid rgba(20,26,35,.10);
    border-bottom:1px solid rgba(20,26,35,.14);
    box-shadow:0 22px 40px -18px rgba(12,20,31,.28);
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item{
    justify-content:flex-start!important;
    text-align:left!important;
    padding:0 20px!important;
    min-height:48px;
    display:flex;align-items:center;
    font-family:'Geist Mono',ui-monospace,monospace!important;
    font-size:14px!important;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--rasvo-v2-ink,#141A23)!important;
    border-bottom:1px solid rgba(20,26,35,.075);
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child a.elementor-item{
    border-bottom:0;
  }
  .elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item.elementor-item-active{
    color:var(--rasvo-v2-ink,#141A23)!important;
    box-shadow:inset 3px 0 0 var(--rasvo-terracotta,#C2542B);
  }
}

/* --- S41.4 · Shop H1 widow -----------------------------------------------
 * "The Drop. Once it's gone, it's / gone." orphaned a four-letter word on the
 * biggest type of the money page at 1440 (review 6). `balance` equalises the
 * two lines ("The Drop. Once it's / gone, it's gone.") at every width without
 * hardcoding a break. Archive H1s only — prose must keep normal greedy wrap. */
.woocommerce.archive h1,
.post-type-archive-product h1{text-wrap:balance}

/* --- S41.5 · About newsletter didn't match the homepage's ----------------
 * Two components for one job: home = underline field + NOTIFY ME, About =
 * boxed white field + JOIN US (review 6). The About page is not frozen, but
 * the JSON settings that shape the input are Elementor-generated; restyling
 * from here is reversible and survives form edits. Field drops to the same
 * underline-on-navy treatment as home; the button label is aligned in the
 * page JSON (S41 apply script) so copy parity is data, not CSS. */
body.page-id-101 .elementor-form input[type=email]{
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid rgba(250,249,246,.38)!important;
  border-radius:0!important;
  color:var(--rasvo-v2-cream,#F4F1EA)!important;
  padding-left:0!important;
}
body.page-id-101 .elementor-form input[type=email]::placeholder{
  color:rgba(250,249,246,.55);
}
body.page-id-101 .elementor-form input[type=email]:focus{
  border-bottom-color:var(--rasvo-v2-gold,#D8B98B)!important;
  outline:none;
}

/* --- S41.7 · Hero secondary link had zero affordance ----------------------
 * "THE FABRIC" renders as a bare paper-coloured <a> in the hero — no
 * underline, border or arrow, so on mobile it reads as stray text (review 6).
 * Hooked on the href, not the generated widget id: the anchor target
 * #the-cotton IS the link's identity and survives re-export. Scoped to
 * heading widgets so the header nav's FABRIC item keeps its own treatment. */
.elementor-widget-heading a[href$="#the-cotton"]{
  text-decoration:none;
  border-bottom:1px solid rgba(250,249,246,.45);
  padding-bottom:2px;
  transition:border-color .2s ease;
}
.elementor-widget-heading a[href$="#the-cotton"]:hover,
.elementor-widget-heading a[href$="#the-cotton"]:focus-visible{
  border-bottom-color:currentColor;
}

/* --- S41.6 · Homepage manifesto dead zone --------------------------------
 * The "Not made for everyone." section spent 472px on 164px of content
 * (128px paddings both sides), and sits between the fit-proof and the
 * social-proof modules — scroll momentum died exactly at the hand-off
 * (review 6, layout critic). 88px keeps the editorial pause without a
 * near-blank frame on a 900px viewport. !important because Elementor emits
 * the section padding against its generated element id at (0,3,0); the
 * template stays frozen. */
.rasvo-v2-manifesto{padding-top:88px!important;padding-bottom:88px!important}

/* --- S41.8 · Footer legal strip wrapped at line-height 1.0 on phones ------
 * The bottom-bar mono strip wraps to two lines at 390px and its lines were
 * nearly touching (review 6). 1.7 matches the strip's own desktop rhythm.
 * Footer headings only, mobile only — column titles gain a little air too,
 * which is the right direction at this density. */
@media (max-width:767px){
  .elementor-location-footer .elementor-heading-title{line-height:1.7!important}
}