/* Shared corner scale for surfaces and controls. */
:root {
  --radius-surface: 28px;
  --radius-panel: 20px;
  --radius-control: 12px;
}

.button { border-radius: 16px; }
.skip { border-radius: var(--radius-control); }
.service-offers { border-radius: var(--radius-surface); }
.express-option { border-radius: var(--radius-panel); }

.faq-list { display: grid; gap: 10px; }
.faq-list details,
.faq-list details:first-child {
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--sand);
  transition: border-color .2s ease, background .2s ease;
}
.faq-list details[open] { background: #f3f0e9; }
.faq-list details:hover { border-color: #bdb6aa; }
.faq-list summary {
  padding: 19px 58px 19px 22px;
  border-radius: var(--radius-panel);
}
.faq-list summary::after { right: 23px; top: 18px; }
.faq-list details p { padding: 0 22px; margin-bottom: 22px; }

.contact-form { border-radius: var(--radius-surface); }
.contact-form input:not([type="checkbox"]),
.contact-form select,
.contact-form textarea { border-radius: var(--radius-control); }
.channels { display: grid; gap: 10px; }
.channels button,
.channels button:last-child {
  border: 1px solid #d4cfc5;
  border-radius: 16px;
  padding: 17px 18px;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.channels button:hover { border-color: #a7b5a8; background: #faf8f36b; }

.languages .language-trigger { border-radius: var(--radius-control); }
.languages .language-trigger:hover,
.languages .language-trigger[aria-expanded="true"] { background: var(--sand); }
.languages .language-trigger { padding: 0 11px; }
.language-options { border-radius: var(--radius-panel); padding: 8px; }
.languages .language-options button { border-radius: var(--radius-control); }
.language-flag { border-radius: 3px; }

dialog { border-radius: var(--radius-surface); padding: 32px; }
.dialog-head button {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--sand);
}
#request-preview { border-radius: 16px; }

/* Native geometry is a no-JavaScript fallback; SVGs paint continuous curves. */
.button, .channels button, #request-preview { --continuous-radius: 16px; }
.service-offers, .contact-form, dialog { --continuous-radius: var(--radius-surface); }
.express-option, .faq-list details, .language-options { --continuous-radius: var(--radius-panel); }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea,
.language-trigger, .language-options button, .skip { --continuous-radius: var(--radius-control); }
[data-continuous-corner] {
  --cc-idle: var(--cc-default);
  background-color: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  background-image: var(--cc-idle) !important;
  background-size: 100% 100% !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
  background-repeat: no-repeat !important;
  background-position: 0 0 !important;
}
[data-continuous-corner]:hover { --cc-idle: var(--cc-hover); }
.faq-list details[data-continuous-corner][open],
.language-trigger[data-continuous-corner][aria-expanded="true"] { --cc-idle: var(--cc-open); }
.faq-list details[data-continuous-corner][open]:hover { --cc-idle: var(--cc-open-hover); }
.language-options button[data-continuous-corner][aria-pressed="true"] { --cc-idle: var(--cc-selected); }
[data-continuous-corner]:focus-visible,
.contact-form input[data-continuous-corner]:focus,
.contact-form select[data-continuous-corner]:focus,
.contact-form textarea[data-continuous-corner]:focus {
  background-image: var(--cc-focus) !important;
}
[data-continuous-corner]:focus-visible { outline: none; }
.contact-form[data-continuous-corner] { box-shadow: none; filter: drop-shadow(0 8px 24px #30272003); }
.language-options[data-continuous-corner] { box-shadow: none; filter: drop-shadow(0 10px 25px #30272012); }
.button[data-continuous-corner]:hover { box-shadow: none; filter: drop-shadow(0 4px 12px #28543e12); }
.contact-form input[data-continuous-corner]:focus,
.contact-form select[data-continuous-corner]:focus,
.contact-form textarea[data-continuous-corner]:focus { box-shadow: none; }
.service-offers[data-continuous-corner] { position: relative; clip-path: var(--cc-clip); background-image: none !important; }
.service-offers[data-continuous-corner]::after {
  content: '';
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background: var(--cc-default) center / 100% 100% no-repeat;
}

@media (max-width: 700px) {
  :root { --radius-surface: 24px; --radius-panel: 18px; }
  .languages .language-trigger { padding: 0 7px; }
  .faq-list summary { padding-left: 18px; padding-right: 48px; }
  .faq-list summary::after { right: 18px; }
  .faq-list details p { padding-left: 18px; padding-right: 18px; }
  .channels button,
  .channels button:last-child { padding: 16px; }
  dialog { padding: 24px; }
}
