/* Shared components; all public controls keep a 44px minimum hit area. */
.az-button,.az-icon-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 20px;border:1px solid transparent;border-radius:12px;background:var(--az-brand);color:#fff;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .15s,box-shadow .15s}
.az-button:hover{background:var(--az-brand-deep)}.az-button--primary{min-height:54px}.az-button--secondary{background:var(--az-brand-soft);color:var(--az-brand);border-color:var(--az-line)}.az-button--secondary:hover{background:#D4EBE1}.az-button--ghost{background:#fff;color:var(--az-ink);border-color:var(--az-line)}.az-button--ghost:hover{background:var(--az-surface)}.az-button:disabled,.az-button[aria-disabled=true]{opacity:.6;cursor:not-allowed}.az-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;background:#fff;color:var(--az-ink);border-color:var(--az-line)}
.az-icon{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.az-chip-row{display:flex;align-items:center;gap:8px;overflow-x:auto;flex-wrap:nowrap;min-height:48px;max-width:100%;padding-block:4px;scrollbar-width:none;overscroll-behavior-inline:contain}.az-chip-row::-webkit-scrollbar{display:none}.az-chip{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-height:36px;padding:6px 14px;border:1px solid var(--az-line);border-radius:999px;background:#fff;color:var(--az-ink-2);font-size:13px;line-height:1.5;font-weight:600;white-space:nowrap;text-decoration:none;cursor:pointer}.az-chip::after{content:'';position:absolute;inset:-4px 0}.az-chip[aria-pressed=true],.az-chip.is-active{color:#fff;background:var(--az-brand);border-color:var(--az-brand)}.az-chip:disabled{opacity:.55;cursor:not-allowed}.az-chip .az-icon{width:18px;height:18px}
.az-badge{display:inline-flex;gap:5px;align-items:center;max-width:100%;padding:4px 9px;border-radius:8px;color:var(--az-brand-deep);background:var(--az-brand-soft);font-size:12px;font-weight:600;line-height:1.5}.az-badge--gold{background:var(--az-gold-soft);color:#775406}.az-badge--neutral{color:var(--az-muted);background:var(--az-surface)}.az-badge--danger{background:#FEF3F2;color:var(--az-danger)}.az-badge .az-icon{width:15px;height:15px}
.az-card{min-width:0;border:1px solid var(--az-line);border-radius:var(--az-radius);background:#fff;box-shadow:var(--az-shadow-card);overflow:hidden}.az-card-pad{padding:20px}.az-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.az-photo-card{display:block;color:var(--az-ink);text-decoration:none;height:100%}.az-photo-card__media{position:relative;width:100%;aspect-ratio:1.4;background:linear-gradient(145deg,#E5EEEA,#F3F7F5);overflow:hidden}.az-photo-card__media img{width:100%;height:100%;object-fit:cover}.az-photo-card__placeholder{height:100%;display:grid;place-items:center;color:var(--az-muted)}.az-photo-card__placeholder .az-icon{width:48px;height:48px;opacity:.65}.az-photo-card__media .az-badge{position:absolute;inset-block-start:10px;inset-inline-start:10px}.az-photo-card__body{padding:14px}.az-photo-card__body h3{font-size:16px;line-height:1.45}.az-photo-card__body p{margin-block:5px;font-size:13px;color:var(--az-muted)}
.az-price{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--az-ink);line-height:1.4}.az-price__primary{font-size:24px;font-weight:800;letter-spacing:-.01em}.az-price__secondary{font-size:13px;color:var(--az-muted);font-weight:500}.az-price--small .az-price__primary{font-size:18px}.az-price--large .az-price__primary{font-size:34px}.az-price--inverse{color:#fff}.az-price--inverse .az-price__secondary{color:#cde6db}
.az-search{display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 8px 4px 14px;border:1px solid var(--az-line);border-radius:16px;background:#fff;box-shadow:var(--az-shadow-card)}.az-search input{min-width:0;flex:1;min-height:44px;padding:7px 4px;border:0;background:transparent;color:var(--az-ink);font-size:15px;outline-offset:-3px}.az-search input::placeholder{color:var(--az-muted);opacity:1}.az-search .az-icon-button{border:0;background:var(--az-surface)}
.az-empty{text-align:center;padding:32px 20px;border:1px solid var(--az-line);border-radius:var(--az-radius);background:#fff}.az-empty__icon{display:grid;place-items:center;margin:0 auto 16px;width:60px;height:60px;border-radius:18px;background:var(--az-brand-soft);color:var(--az-brand)}.az-empty h2{font-size:20px}.az-empty p{max-width:42ch;margin:10px auto 20px;color:var(--az-muted);font-size:14px}.az-empty__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.az-note{padding:18px;border:1px solid #E9DAB5;border-radius:var(--az-radius);background:var(--az-gold-soft);color:#655126;font-size:14px;line-height:1.7}.az-note--green{background:var(--az-brand-soft);border-color:#CBE4D8;color:var(--az-brand-deep)}
.az-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--az-ink);z-index:1200;overflow:hidden}.az-dialog:not([open]){display:none}.az-dialog::backdrop{background:rgba(1,37,31,.48);backdrop-filter:blur(2px)}.az-sheet{position:absolute;inset-inline:0;bottom:0;margin:auto;width:100%;max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:24px 24px 0 0;background:#fff;box-shadow:var(--az-shadow-raised)}.az-sheet--full{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.az-sheet__handle{width:36px;height:4px;border-radius:999px;background:var(--az-line);margin:9px auto 0;flex:none}.az-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--az-line-2)}.az-sheet__header h2{font-size:20px;margin:0}.az-sheet__body{padding:20px;overflow-y:auto;overscroll-behavior:contain}.az-sheet__footer{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--az-line);background:#fff}.az-sheet__footer .az-button{width:100%}
.az-action-bar{position:fixed;inset-inline:0;bottom:0;z-index:85;display:flex;gap:10px;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--az-line);box-shadow:0 -4px 20px #142D3208}.az-action-bar .az-button{flex:1;min-width:0}.az-action-bar .az-icon-button{flex:none}.az-error{font-size:14px;color:var(--az-danger)}.az-field{display:grid;gap:7px;min-width:0}.az-field>label,.az-field>span{font-size:14px;font-weight:600}.az-field :is(input,select,textarea){min-height:48px;max-width:100%;border:1px solid var(--az-line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--az-ink);font-size:15px}.az-field textarea{min-height:110px}.az-skeleton{background:linear-gradient(90deg,#edf2f0,#f7faf8,#edf2f0);background-size:200% 100%;animation:az-loading 1.5s linear infinite;border-radius:12px}@keyframes az-loading{to{background-position:-200% 0}}
@media(min-width:1024px){.az-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.az-sheet{max-width:560px;inset-block:50% auto;transform:translateY(-50%);border-radius:24px;max-height:85dvh}.az-sheet--full{height:85dvh}.az-action-bar{position:sticky;max-width:var(--az-content-max);margin-inline:auto;border:1px solid var(--az-line);border-radius:16px;padding:14px 20px}}

[dir="rtl"] .az-directional{transform:scaleX(-1)}

/* Retained public pricing-browser footer uses the shared caption minimum. */
html[data-az-layout="public"] body.sp-app>footer{font-size:13px!important}

/* A card's content, including exact bilingual prices, must fit its own column. */
.az-photo-card{display:flex;flex-direction:column;min-width:0;max-width:100%}
.az-photo-card__media{flex:none}
.az-photo-card__body{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.az-photo-card__body>*{min-width:0;max-width:100%;margin-block:0}
.az-photo-card__body :is(h3,p){overflow-wrap:anywhere}
.az-photo-card__body h3{font-size:16px;line-height:1.6}
.az-price{min-width:0;max-width:100%}
.az-price :is(.az-price__primary,.az-price__secondary){max-width:100%;overflow-wrap:anywhere;white-space:normal}
.az-badge{min-width:0;overflow-wrap:break-word}
.az-sheet__header h2{min-width:0;overflow-wrap:break-word}
.az-sheet__header>.az-icon-button{flex:none}
