/* Dedicated FlowBerry contacts page. */
.flowberry-contact-page { padding:42px 0 104px; overflow:clip; background:radial-gradient(circle at 94% 7%,rgba(255,102,157,.12),transparent 22%),linear-gradient(180deg,#fff 0%,#fff 54%,#faf7fb 100%); }
.flowberry-contact-page__shell { display:grid; gap:54px; min-width:0; }
.flowberry-contact-page__crumbs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:0; color:var(--muted); font-size:16px; }
.flowberry-contact-page__crumbs a:hover { color:var(--violet-700); }
.flowberry-contact-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); align-items:end; gap:64px; }
.flowberry-contact-intro .eyebrow { font-size:16px; }
.flowberry-contact-intro h1 { max-width:820px; margin:20px 0 0; font-size:clamp(58px,7.6vw,112px); line-height:.88; letter-spacing:-.075em; }
.flowberry-contact-intro>p { max-width:590px; margin:0; padding:0 0 8px 24px; color:var(--muted); border-left:3px solid var(--berry); font-size:18px; line-height:1.65; }
.flowberry-contact-stage { display:grid; min-width:0; grid-template-columns:minmax(340px,.78fr) minmax(0,1.22fr); gap:18px; }
.flowberry-contact-stage__details { display:flex; min-width:0; flex-direction:column; padding:46px; color:#fff; background:linear-gradient(155deg,#3a243f 0%,var(--violet-800) 54%,#9f3767 100%); border-radius:36px; box-shadow:0 28px 70px rgba(54,32,65,.16); }
.flowberry-contact-kicker,.flowberry-contact-channels header>span,.flowberry-contact-requisites header>span { font-size:16px; font-weight:850; text-transform:uppercase; letter-spacing:.12em; }
.flowberry-contact-kicker { color:#fff; }
.flowberry-contact-stage__details h2 { max-width:500px; margin:16px 0 30px; font-size:clamp(36px,4vw,56px); line-height:1.02; letter-spacing:-.055em; }
.flowberry-contact-lines { display:grid; margin:0; border-top:1px solid rgba(255,255,255,.2); font-style:normal; }
.flowberry-contact-lines>a,.flowberry-contact-lines>div { display:grid; min-width:0; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; padding:18px 0; color:#fff; border-bottom:1px solid rgba(255,255,255,.2); }
.flowberry-contact-lines>a:hover strong { color:#ffc4d8; }
.flowberry-contact-lines span { display:flex; min-width:0; align-items:center; gap:9px; color:rgba(255,255,255,.9); font-size:16px; }
.flowberry-contact-lines .ui-icon { width:18px; height:18px; flex:0 0 auto; color:#ff8db7; }
.flowberry-contact-lines strong { min-width:0; overflow-wrap:anywhere; font-size:18px; text-align:right; transition:color .18s ease; }
.flowberry-contact-city { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:auto; padding-top:30px; }
.flowberry-contact-city>span { display:grid; min-width:0; grid-template-columns:22px minmax(0,1fr); column-gap:10px; }
.flowberry-contact-city .ui-icon { grid-row:1 / span 2; width:22px; height:22px; color:#ff8db7; }
.flowberry-contact-city small { color:rgba(255,255,255,.9); font-size:16px; text-transform:uppercase; letter-spacing:.06em; }
.flowberry-contact-city strong { margin-top:3px; font-size:21px; }
.flowberry-contact-city>a { flex:0 0 auto; color:#fff; font-size:16px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.flowberry-contact-note { margin:18px 0 0; color:rgba(255,255,255,.9); font-size:16px; line-height:1.55; }
.flowberry-contact-map { display:grid; min-width:0; min-height:620px; grid-template-rows:auto minmax(420px,1fr) auto; margin:0; overflow:hidden; background:#f5eff7; border:1px solid var(--line); border-radius:36px; box-shadow:0 28px 70px rgba(54,32,65,.09); }
.flowberry-contact-map__head,.flowberry-contact-map figcaption { display:flex; min-width:0; align-items:center; justify-content:space-between; gap:18px; padding:18px 22px; background:#fff; }
.flowberry-contact-map__head>span { color:var(--violet-700); font-size:16px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.flowberry-contact-map__head>strong { min-width:0; overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.flowberry-contact-map iframe { display:block; width:100%; min-width:0; height:100%; min-height:480px; border:0; background:#f5eff7; }
.flowberry-contact-map figcaption { align-items:flex-start; color:var(--muted); border-top:1px solid var(--line); font-size:16px; line-height:1.45; }
.flowberry-contact-map figcaption>span { max-width:580px; }
.flowberry-contact-map figcaption>a { flex:0 0 auto; color:var(--violet-700); font-weight:850; white-space:nowrap; }
.flowberry-contact-channels { display:grid; min-width:0; grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr); align-items:center; gap:52px; padding:36px 0; border:1px solid var(--line); border-width:1px 0; }
.flowberry-contact-channels header { min-width:0; }
.flowberry-contact-channels header>span { color:var(--violet-700); }
.flowberry-contact-channels h2 { margin:8px 0 0; font-size:clamp(30px,3.2vw,46px); letter-spacing:-.045em; }
.flowberry-contact-channels header>p { margin:10px 0 0; color:var(--muted); font-size:16px; }
.flowberry-contact-channels nav { display:grid; min-width:0; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.flowberry-contact-channels nav>a { display:grid; min-width:0; min-height:66px; grid-template-columns:44px minmax(0,1fr) auto; align-items:center; gap:11px; padding:10px 12px; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:18px; transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.flowberry-contact-channels nav>a:hover { border-color:var(--violet-300); box-shadow:0 12px 28px rgba(73,45,88,.08); transform:translateY(-2px); }
.flowberry-contact-channels img { width:44px; height:44px; border-radius:12px; }
.flowberry-contact-channels nav>a>span { display:grid; min-width:0; }
.flowberry-contact-channels nav strong { overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.flowberry-contact-channels nav small { margin-top:2px; color:var(--muted); font-size:16px; }
.flowberry-contact-channels nav b { color:var(--violet-700); font-size:17px; }
.flowberry-contact-requisites { display:grid; min-width:0; grid-template-columns:minmax(230px,.45fr) minmax(0,1.55fr); gap:52px; padding:42px; background:#fff; border:1px solid var(--line); border-radius:30px; }
.flowberry-contact-requisites header>span { color:var(--violet-700); }
.flowberry-contact-requisites h2 { margin:10px 0 0; font-size:42px; }
.flowberry-contact-requisites dl { display:grid; min-width:0; margin:0; }
.flowberry-contact-requisites dl>div { display:grid; min-width:0; grid-template-columns:minmax(160px,.45fr) minmax(0,1.55fr); gap:24px; padding:15px 0; border-bottom:1px solid var(--line); }
.flowberry-contact-requisites dl>div:first-child { padding-top:0; }
.flowberry-contact-requisites dl>div:last-child { padding-bottom:0; border-bottom:0; }
.flowberry-contact-requisites dt { color:var(--muted); font-size:16px; }
.flowberry-contact-requisites dd { min-width:0; margin:0; overflow-wrap:anywhere; font-size:16px; font-weight:750; }
.flowberry-contact-page :where(a,button,iframe):focus-visible { outline:3px solid var(--violet-700); outline-offset:3px; }
@media (max-width:1100px) { .flowberry-contact-page { padding-top:34px; }.flowberry-contact-intro { grid-template-columns:1fr; gap:24px; }.flowberry-contact-intro>p { max-width:720px; }.flowberry-contact-stage { grid-template-columns:1fr; }.flowberry-contact-stage__details { min-height:530px; }.flowberry-contact-map { min-height:560px; }.flowberry-contact-channels { grid-template-columns:1fr; gap:26px; }.flowberry-contact-requisites { grid-template-columns:1fr; gap:30px; } }
@media (max-width:800px) { .flowberry-contact-page { padding:28px 0 76px; }.flowberry-contact-page__shell { gap:40px; }.flowberry-contact-intro h1 { font-size:clamp(52px,14vw,82px); }.flowberry-contact-intro>p { padding-left:17px; font-size:17px; }.flowberry-contact-stage__details { min-height:0; padding:34px 28px; border-radius:28px; }.flowberry-contact-map { min-height:510px; border-radius:28px; }.flowberry-contact-map iframe { min-height:420px; }.flowberry-contact-channels nav { grid-template-columns:1fr; }.flowberry-contact-requisites { padding:32px 26px; border-radius:24px; }.flowberry-contact-requisites dl>div { grid-template-columns:1fr; gap:5px; } }
@media (max-width:520px) { .flowberry-contact-page { padding-top:24px; }.flowberry-contact-page__shell { gap:34px; }.flowberry-contact-intro { gap:18px; }.flowberry-contact-intro h1 { margin-top:14px; font-size:52px; }.flowberry-contact-intro>p { font-size:17px; }.flowberry-contact-stage { gap:12px; }.flowberry-contact-stage__details { padding:27px 20px; border-radius:24px; }.flowberry-contact-stage__details h2 { margin-bottom:22px; font-size:36px; }.flowberry-contact-lines>a,.flowberry-contact-lines>div { grid-template-columns:1fr; gap:6px; padding:15px 0; }.flowberry-contact-lines strong { padding-left:27px; font-size:17px; text-align:left; }.flowberry-contact-city { align-items:flex-start; flex-direction:column; }.flowberry-contact-map { min-height:450px; grid-template-rows:auto 330px auto; border-radius:24px; }.flowberry-contact-map iframe { min-height:330px; }.flowberry-contact-map__head,.flowberry-contact-map figcaption { align-items:flex-start; flex-direction:column; gap:7px; padding:15px 16px; }.flowberry-contact-map figcaption>a { white-space:normal; }.flowberry-contact-channels { gap:20px; padding:30px 0; }.flowberry-contact-channels h2 { font-size:32px; }.flowberry-contact-requisites { padding:26px 19px; }.flowberry-contact-requisites h2 { font-size:34px; } }
@media (prefers-reduced-motion:reduce) { .flowberry-contact-channels nav>a { transition:none; }.flowberry-contact-channels nav>a:hover { transform:none; } }
